入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

foreach之引用&的使用

创建时间:2015-01-22 投稿人: 浏览次数:1274

废话不说,上代码

$arrayName = array(
        "0" => array(
        "1" =>"houzi" ,
        "2" =>"xiaogou"
        ) ,
        "1" => array(
        "2" =>"houzi" ,
        "3" =>"xiaogou" )
        );
var_dump($arrayName);
foreach ($arrayName as $key => &$value) {
$value[2]="xiugua";
}
var_dump($arrayName);exit;



结果:

array (size=2)
  0 => 
    array (size=2)
      1 =>  "houzi" (length=5)
      2 =>  "xiaogou" (length=7)
  1 => 
    array (size=2)
      2 =>  "houzi" (length=5)
      3 =>  "xiaogou" (length=7)
array (size=2)
  0 => 
    array (size=2)
      1 =>  "houzi" (length=5)
      2 =>  "xiugua" (length=6)
  1 => &
    array (size=2)
      2 =>  "xiugua" (length=6)
      3 =>  "xiaogou" (length=7)


手册说明

可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。

<?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) {     $value = $value * 2; } // $arr is now array(2, 4, 6, 8) unset($value); // 最后取消掉引用 ?>

$value 的引用仅在被遍历的数组可以被引用时才可用(例如是个变量)。以下代码则无法运行:

<?php foreach (array(1, 2, 3, 4) as &$value) {     $value = $value * 2; } ?>Warning

数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留。建议使用 unset() 来将其销毁。

Note:

foreach 不支持用“@”来抑制错误信息的能力。


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。