首页  >  文章  >  后端开发  >  php若干单维数组遍历方法的比较

php若干单维数组遍历方法的比较

高洛峰
高洛峰原创
2016-11-30 13:49:47894浏览

代码如下: 

<?php 
//a 
$arr=array(&#39;a&#39;=>&#39;abc&#39;,&#39;b&#39;=>123,&#39;c&#39;=>true); 
//b 
//$arr=range(&#39;a&#39;,&#39;d&#39;); 
//1 
for($i=0;$i<sizeof($arr);$i++) 
echo $arr[$i].&#39;, &#39;; 
echo &#39;<br />&#39;; 
//2 
foreach($arr as $key) 
echo "$key, "; 
echo &#39;<br />&#39;; 
//3 
foreach($arr as $key=>$val) 
echo "$key-$val, "; 
echo &#39;<br />&#39;; 
//4 
reset($arr); 
while($item=each($arr)){ 
echo $item[&#39;key&#39;].&#39;-&#39;.$item[&#39;value&#39;].&#39;, &#39;; 
} 
echo &#39;<br />&#39;; 
//5 
reset($arr); 
while(list($key,$val)=each($arr)){ 
echo "$key-$val, "; 
} 
echo &#39;<br />&#39;; 
?>

使用语句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方法则需要。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn