php中foreach的用法,PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?

用户投稿 47 0

关于“php_foreach较后一个”的问题,小编就整理了【2】个相关介绍“php_foreach较后一个”的解答:

PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?

HP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?

代码如下:

$arr = array('one','two','three');

foreach ($arr as &$value){ echo 'Value:'.$value.'

'; }

foreach ($arr as $value){ echo 'Value:'.$value.'

'; }

?>

输出结果:

Value:one

Value:two

Value:three

Value:one

Value:two

Value:two

第一次带&的foreach并没有改变数组的内容。。

而是最后一次循环$value引用了数组的最后一个项 (可以测试一下,在第一次循环结束后unset($value),第二次循环的结果就不会有变化),

在你第二个foreach也是使用的$value变量,这才造成了怪异的问题(可以换个变量,比如$val,输出的数组就不会有变化)。

第二个foreach是赋值给$value,但是这时的$value是引用的数组的最后一个值,

所以

第一次循环把one赋值给了最后一个值,

phpforeach实现原理?

PHP foreach语法 foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。 foreach ($array as $value) { code to be executed; }每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。 下面的例子演示的循环将输出给定数组($colors)的值: 实例 "; } ?>

到此,以上就是小编对于“php_foreach较后一个”的问题就介绍到这了,希望介绍关于“php_foreach较后一个”的【2】点解答对大家有用。

抱歉,评论功能暂时关闭!