闲来无事
说说php中的foreach 首先foreach和for都可以用来遍历数组,那么他们有什么不同呢?
1.foreach 可以循环得时候可以获取获取每个键值
2.foreach能循环任何非数字且无序索引的数组,而for只能循环0.1.2.3.4这样的数组
所以使用foreach来循环数组很方便,每次执行都把指针指向下一个元素。
那么先看一段简单的代码
<?php
$array1['2'] = "2";
$array1['1'] = "1";
$array1['0'] = "0";
foreach($array as $v){
echo $v;
}
?>
这段代码的结果是2,1,0 而不是0,1,2 如果非要按照顺序来输出,可以先对数组进行排序,或者直接用for来实现
具体foreach是怎么实现的目前还没去研究过呢
对于foreach 还有个比较有意思的用法
foreach (array(array(2333,22), array(31,4666)) as $k => list($a, $b)) {
printf("key:%s, a=>%s, b=>%s\n", $k, $a, $b);
}
可以结合list循环多个数组,但是这样的用法一定的限制
1.两个数组长度得一样,不然按照元素最少的数组长度作为为执行次数
2.不支持索引数组,只能是0.1.2.3这样的自然顺序的数字键值
先到这 以后再补············