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

WBOY
Lepaskan: 2016-07-12 08:54:00
asal
753 orang telah melayarinya

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

PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么? <br />代码如下: <br /><?php <br />$arr = array('one','two','three'); <br />foreach ($arr as &$value){ echo 'Value:'.$value.'<br />'; } <br />foreach ($arr as $value){ echo 'Value:'.$value.'<br />'; } <br />?><br />输出结果:<br /> Value:one<br /> Value:two <br /> Value:three <br /><br /> Value:one <br /> Value:two <br /> Value:two
Salin selepas log masuk
<br />第一次带&的foreach并没有改变数组的内容。。<br />而是最后一次循环$value引用了数组的最后一个项 (可以测试一下,在第一次循环结束后unset($value),第二次循环的结果就不会有变化),<br />在你第二个foreach也是使用的$value变量,这才造成了怪异的问题(可以换个变量,比如$val,输出的数组就不会有变化)。<br />第二个foreach是赋值给$value,但是这时的$value是引用的数组的最后一个值,<br />所以<br />第一次循环把one赋值给了最后一个值,<br />第二次把two赋值给最后一个,<br />第三次也就是最后一个已经在第二次循环被赋值为two,所以仍然是two。
Salin selepas log masuk

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1121985.htmlTechArticlePHP中的传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?,PHP PHP中的传值引用的问题,在foreach循环的结果能帮解释...
Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan