一个PHP数组的问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 01:05:00
我想问的是这条代码为什么第一条运行得16,而第二条运行为什么是24了呢?第二条和第一条的写法是一样的呀?
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
print_r($arr);
echo '<hr />';
foreach ($arr as $value) {
$value = $value * 2;
}
print_r($arr);
?>
谢谢!

完全不一样哦,你为什么要说完全一样呢,你第一个循环语句是:
foreach ($arr as &$value) {

第二个循环语句是:
foreach ($arr as $value) {

这有本质区别哦,这样一来,第二个循环的每个$value = $value * 2;
语句实际改变的是数组的最后一条记录。