php中的循环遍历 foreach list each

foreach语句遍历数组
foreach语句用于循环遍历数组,每进行一次循环,当前数组元素的值就会被赋值给变量value(也可以是其它变量),数组指针会逐一的移动。

代码示例:
foreach($array as $value){  //$array要遍历的数组,$value为指针指向数组当前的值,as起到赋值的作用
  code to executed;
}
foreach语句也可以获得数组的键名,如下: 
代码示例:
foreach($array as $key => $value){
  echo $key "-" $value. "<br />";
}

echo()函数
each()的作用是将数组当前元素的键值对拆成一个新数组,并把下一个元素作为当前元素。比如Array(...,'Robert'=>'Bob',...)中的'Robert'=>'Bob'键值对,拆成Array([1]=>'Bob',[value]=>'Bob',[0]=>'Robert',[key]=>'Robert')数组,拆成两套(共四个键值对)返回,0和1的序号对,key和value的名-值对,使用其中一套就可以了。

例:

代码示例:
<?Php
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
while($elements = each($prices)){
  echo $elements['key'];  //echo $elements[0];
  echo " - ";
  echo $elements['value'];   //echo $element[1];
  echo "<br />";
}

输出结果:
Tires-100
Oil-10
Spank Plugs-4

list()函数遍历数组
list()函数可以用来将一个数组分解为一系列的值。list()常与each()一起使用。但是list()也可以不与each()一起使用,例如:list($key, $value) = explode()(":", $v);
list($key, $value) = each($array);   //$key,$value可以任意命名变量名
该句是将each返回的数组当前的0,1位置的元素赋值给$key,$value变量。
例子:

代码示例:
<?php
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
while(list($product, $prices) = each($prices);){
  echo $product "-" $prices;
  echo "<br />";
}

输出结果:
Tires-100
Oil-10
Spank Plugs-4

另一种实现方法:

代码示例:
<?php
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
list($product, $price) = $each($prices);
echo "$product - $price";  //输出第一个数组
$next = $next($prices);   // 指针后移
echo $next;
使用while、each与list函数组合遍历二维数组的方法
复制代码
<?php  
$contact=array(  
    'gao'=>array('ID'=>1,'name'=>'高某','company'=>'A公司','addr'=>'北京市','phonenumber'=>'(010)98765432','email'=>'gao@mail.com'),  
        'li'=>array('ID'=>2,'name'=>'李某','company'=>'B公司','addr'=>'上海市','phonenumber'=>'(021)98765432','email'=>'li@mail.com'),  
    'ma'=>array('ID'=>3,'name'=>'马某','company'=>'C公司','addr'=>'重庆市','phonenumber'=>'(023)98765432','email'=>'ma@mail.com'),  
    'fan'=>array('ID'=>4,'name'=>'范某','company'=>'D公司','addr'=>'天津市','phonenumber'=>'(022)98765432','email'=>'fan@mail.com')  
);  
  
while(list($key,$value)=each($contact)){  
    while(list($name,$info)=each($value)){  
             echo $name.':'.$info.'<br>';  
    }  
    echo "------------------------------------<br>";  
}  
?>  
复制代码

php中使用while、each与list函数组合遍历二维数组的效果:

list与mysql_fetch_row():

mysql_fetch_row():从结果集中取得一行作为枚举数组.

数据表字段:id,country,animal,cname

1
2
3
4
5
6
7
8
9
10
11
12
13
echo '<table cellpadding="10" border="1">';
 
   echo '<tr><th>字段1</th><th>字段2</th><th>字段3</th><th>字段4</th></tr>';
    while(list($id,$country,$animal,$cname)=mysql_fetch_row($result)){
       echo "<tr>";
       echo "<td>".$id."</td>";
       echo "<td>".$country."</td>";
       echo "<td>".$animal."</td>";
       echo "<td>".$cname."</td>";
       echo "</tr>";
    }
    echo "</table>";
 }

 参考:http://blog.csdn.net/maminyao/article/details/7569079

           http://www.169it.com/blog_article/1443995156.html

posted @   ^wxp_幸福女孩儿$  阅读(455)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示