php数组—数组的常用遍历方式

[ 2011-03-30 15:25:20 | 作者: admin ]
字号: | |
for遍历只适合php的索引数组,尽量不要用for循环遍历

foreach循环结构
        foreach($arr as $value)
        foreach($arr as $key=>$value) echo "\$arr[".$key."]=".$value."<br>";
while() list() each()
多维数组中需要在foreach中再加一个foreach
例如:
$arr=array("hello"=>array(1,2,3,"bbb"=>4,5,6,"aaa"=>8),array

("one","two"),100=>array("a",1,"b",2));
foreach($arr as $key=>$value)
{
      foreach($value as $k=>$value)
      {
            echo "\$arr[".$key."][".$k."]=".$v."&nbsp;&nbsp;";
      }
      echo "<br>";
}

each();的用法:
$arr=array("hello"=>100,2,3,"abc"=>"one","two",100=>"three");

print_r(each($arr));
echo "<br>";
运行结果:Array([1]=>100 [value]=>100 [0]=>hello [key]=>hello)
                   其中1和value对应的是数组第一个数据的值;
                    0和key对应的是数组的一个数据的下标

要返回整个数组的下标和值,就要看数组的个数,添加相应的print_r(each

($arr));的个数

while()的用法:
$arr=array("hello"=>100,2,3,"abc"=>"one","two",100=>"three");

while($a=each($arr))
{
        echo "下标".$a[0]."---".$a["key"]."<br>";
        echo "值:".$a[1]."---".$a["value"]."<br>";
}
while循环的缺点:只能取一次

this()是将一个数组转换为变量来用的。
$one=array(1,2,3);
list($a,$b,$c)=$one;

echo $a."<br>";
echo $b."<br>";
echo $c."<br>";

list和each联合使用:
$arr=array("hello"=>100,2,3,"abc"=>"one","two",100=>"three");

while(list($key,$value)=each($arr))
{
      echo $key."==>".$value."<br>";
}
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1657

这篇日志没有评论。

此日志不可发表评论。