一 foreach的语法介绍
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
键值这里可以理解为数组下标,数组元素a[2]的下标就是2.
1.用while循环
2.用foreach
此外注意 foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。因此即使有 each() 的构造,原数组指针也没有变,数组单元的值也不受影响。 1.foreach 中使用引用的情况。 普通情况下,foreach($arr as $value)中的$arr和$value是拷贝,不受外部影响的,即
结果是:12345 但如果$arr是引用的话,情况则不同了,我们用代码来说明问题
这是因为循环用的$arr是直接指向原数据的,而不是copy了一份。 如果$value是引用,而$arr不是引用,其结果是一样的,同样$value是指向原数据的而不是copy
还有一种情况比较特殊,即是如果定义了$arr为全局变量的话,$arr也会变成引用
2. 如果两次循环一个数组,一定不能这样写
3.防止foreach出现未定义情况,尽量这样来写foreach
|
|
来自: daijingwen0 > 《PHP》