PHP语言中 foreach 遍历数组用法

来源:百度知道 编辑:UC知道 时间:2024/05/10 07:54:59
foreach ($a as $b)

foreach ($a as &$b)
有哪些区别 我想不太明白
我知道前者可以理解为 $b=$a[0]
$b=$a[1]
$b=$a[2]
但是后者不是很理解
请高手解读下谢谢

第一种格式遍历给定的 $a 数组。每次循环中,当前单元的值被赋给 $b 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

自 PHP 5 起,可以很容易地通过在 $b 之前加上 & 来修改数组的单元。此方法将以引用赋值而不是拷贝一个值。例如:
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>

var_dump($arr);#打印$arr看下你就明白了,打印之后你再把&去掉,运行再打印,两次比较就清楚

第二种就是把原$arr中的每个单元重新赋值,上面那样写已经很清楚了,不明白的话,就到网上下载一个php手册,好好看看