foreach循环语句php
‘壹’ 关于php中foreach循环,应该怎么写
<div class="main"> <ul class="list"> <?php foreach ($rates as $key => $rate) { foreach ($rate['info'] as $rate) { echo '<li> <!--这里循环调用一个图片--> <div class="pic"> <a href="#" style="background:url('.$pic300.') top no-repeat;"></a> </div> <!--这里循环调用一个图片结束--> <div class="pl"> <div class="pl_box"> <div class="pl_t">看看大家都在说什么...</div> <div class="pl">
<?php $respl = $this->db->....();//取出评论的记录集
<?php foreach($respl as $item):?> <!--这里循环调用三条评论--> <div class="pl_nr"> <p class="nr">'.$item'</p> </div> <!--这里循环调用三条评论结束-->
<?php endforeach;?> </div> </div> </div> </li>'; } } ?> </ul> <ul class="av"> <!--这里循环调用一张图片--> <li> <a href="#" target="_blank" style="background:url('.$pic80.') no-repeat;"></a> </li> <!--这里循环调用一张图片结束--> </ul></div>
‘贰’ PHP的循环语句是什么
在我们编写代码时,经常需要反复运行同一代码块。
我们可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。
在 PHP 中,有以下循环语句:
while- 只要指定条件为真,则循环代码块
do...while- 先执行一次代码块,然后只要指定条件为真则重复循环
for- 循环代码块指定次数
foreach- 遍历数组中的每个元素并循环代码块
PHP while 循环
只要指定的条件为真,while 循环就会执行代码块。
语法
while (条件为真) {
要执行的代码;
}
下例首先把变量 $x 设置为 1($x=1)。然后执行 while 循环,只要 $x 小于或等于 5。循环每运行一次,$x 将递增 1:
实例
<?php
$x=1;
while($x<=5) {
echo "这个数字是:$x <br>";
$x++;
}
?>
PHP do...while 循环
do...while 循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
语法
do {
要执行的代码;
} while (条件为真);
下面的例子首先把变量 $x 设置为 1($x=1)。然后,do while 循环输出一段字符串,然后对变量 $x 递增 1。随后对条件进行检查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循环将会继续运行:
实例
<?php
$x=1;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);
?>
请注意,do while 循环只在执行循环内的语句之后才对条件进行测试。这意味着 do while 循环至少会执行一次语句,即使条件测试在第一次就失败了。
下面的例子把 $x 设置为 6,然后运行循环,随后对条件进行检查:
<?php
$x=6;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);
?>
PHP for 循环
如果您已经提前确定脚本运行的次数,可以使用 for 循环。
语法
for (init counter; test counter; increment counter) {
code to be executed;
}
参数:
init counter:初始化循环计数器的值
test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。
increment counter:增加循环计数器的值
下面的例子显示了从 0 到 10 的数字:
实例
<?php
for ($x=0; $x<=10; $x++) {
echo "数字是:$x <br>";
}
?>
PHP foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
语法
foreach ($array as $value) {
code to be executed;
}
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
实例
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
‘叁’ php foreach 循环
sql语句放在循环里面这种是不提倡的,你可以把要插入的数据转换成数组用sql循环插入,至于为什么第一次打印出来有值后面就是NULL。你可以试试在foreach外面声明一个变量例如$data = '';在到循环里面拼接字符串$data .= $data; 然后在打印$data。看看是不是$result数组里面的值就是空的。
‘肆’ PHP foreach 嵌套循环
第二个foreach 中的局部变量已经覆盖了第一个foreach 中的 $key,
第二个跟第一个第二个都不会影响,因为属于第一个foreach之外,所有的foreach 循环中产生的变量均是临时变量,退出循环时就会被销毁,所以第三个不会受第一个第二个影响,
把你的第二个foreach 中的$key 换个变量名就不会覆盖了,
‘伍’ PHP中foreach循环的用法
foreach($array as $key=>$value){ echo $key.' is '.$value; } ps: $array 为要遍历的数组 $key 为遍历的数组下标 $key 为遍历的数组的值
希望采纳
‘陆’ php foreach 用法
楼主你的问题我也遇到过
这是为什么呢?
$a
=
array("1"=>"语文","2"=>"数学","3"=>"英语");
上面这个和下面这个是完全一样的
$a[1]="语文";
$a[2]="数学"
$a[3]=“英语”
楼主我们输出上面的数组是怎么输出的呢?
肯定是echo
$a[1];
对不对?
如果没有疑问我们继续!!!!
------------------------------
不知道foreach楼主有没有完全理解
他的格式是这样的foreach(数组名
as
下标=>值)
下标也就是上面的$a[1],这里的1就是数组的下标!
到这你应该明白了,为什么是$a[$key]这样输出
你记住不管怎么变,数组的输出方法永远是$a[1],不会是$a['语文']
‘柒’ php foreach 循环求教
大致明白你的意思了,
function getFlone($parentid){ //建立回调函数每次读取目录
$sql="select * from abccc where parentid={$parentid} order by categoryid";
$rs=mysql_query($sql);
$data=array();
while ($row=mysql_fetch_array($rs)){
$data[]=$row;
}
return $data;
}
function getFlmenu($parentid){
$arr=getFlone($parentid);
foreach ($arr as &$v) { //遍历$arr最外层数组
if(getFlone( $v['parentid'])){ //判断$v['parentid']是否有子目录
$arr.=getFlmenu($v['parentid']); //如果有子目录调用则再次调用getFlmenu函数进行回调并将每一级目录($arr数组表示的)用“.”号连起来,方便你到时候用explode()函数分割
return $arr;
}else{
return $arr; //如果$v['parentid']下面没有子目录,具体显示效果你自己可以定义
}
}
}
‘捌’ php中foreach循环怎么用
foreach($arr as $k=>$v){ //这里的$arr就是数组, $k是数组的键, $v是数组的值
echo $k; //输出键
echo $v; //输出值
}
‘玖’ php中foreach循环语句 如何使用
$conn=mysql_connect("localhost","root","");
mysql_select_db("test");
mysql_query("set names utf8",$conn);
$result=mysql_query("select * from tb_messages");
$result=mysql_query($sql_excel);
while($arr = mysql_fetch_assoc($result)){
$content[]=$arr;
}
$table = '<table>';
$table .= '<thead><tr><th>id</th><th>标题</th><th>电话</th><th>地址</th><th>审核状态</th><th>内容</th><th>留言时间</th></thead>';
$table .= '<tbody>';
foreach($content as $key=>$value){
$table .= "<tr>";
$table .= "<td>".$value['id'].'</td>';
$table .= "<td>".$value['title'].'</td>';
$table .= "<td>".$value['phone'].'</td>';
$table .= "<td>".$value['address'].'</td>';
$table .= "<td>".$value['ischeck'].'</td>';
$table .= "<td>".$value['content'].'</td>';
$table .= "<td>".substr($value['datetime'],0,11).'</td>';
$table .= '</tr>';
}
$table .= '</tbody>';
$table .= '</table>';
echo $table;
‘拾’ PHP中foreach函数用法
foreach()两种用:
1:
foreach(array_name
as
$value)
{
statement;
}
array_name要遍历数组名每循环array_name数组前元素值赋给$value,并且数组内部标向移步循环元素
2:foreach(array_name
as
$key
=>
$value)
{
statement;
}
跟第种区别$key,除前元素值赋给$value外前元素键值每循环赋给变量$key键值标值字符串比book[0]=10book[id]="001"id.