- 论坛徽章:
- 0
|
若干单维数组遍历方法的比较 - <?php
- //a
- $arr=array('a'=>'abc','b'=>123,'c'=>true);
- //b
- //$arr=range('a','d');
- //1
- for($i=0;$i<sizeof($arr);$i++)
- echo $arr[$i].', ';
- echo '<br />';
- //2
- foreach($arr as $key)
- echo "$key, ";
- echo '<br />';
- //3
- foreach($arr as $key=>$val)
- echo "$key-$val, ";
- echo '<br />';
- //4
- reset($arr);
- while($item=each($arr)){
- echo $item['key'].'-'.$item['value'].', ';
- }
- echo '<br />';
- //5
- reset($arr);
- while(list($key,$val)=each($arr)){
- echo "$key-$val, ";
- }
- echo '<br />';
- ?>
复制代码 使用语句a $arr=array('a'=>'abc','b'=>123,'c'=>true); 对$arr进行初始化得到数字索引数组,输出如下:
, , ,
abc, 123, 1,
a-abc, b-123, c-1,
a-abc, b-123, c-1,
a-abc, b-123, c-1, 使用语句b $arr=range('a','d'); 对$arr进行初始化得到关联数组,输出如下:
a, b, c, d,
a, b, c, d,
0-a, 1-b, 2-c, 3-d,
0-a, 1-b, 2-c, 3-d,
0-a, 1-b, 2-c, 3-d, for循环只对数字索引有限;for和foreach遍历结束后不需要对数据进行reset()操作即可供下次遍历,而each方法则需要。 |
|