廢話不說,上**
$arrayname = array(
'0' => array(
'1' =>"houzi" ,
'2' =>"xiaogou"
) , '1' => array(
'2' =>"houzi" ,
'3' =>"xiaogou" )
);var_dump($arrayname);
foreach ($arrayname as $key => &$value)
var_dump($arrayname);exit;
結果:
array(size=2)0 =>array(size=2)
1 =>
string
'houzi'
(length=5)
2 =>
string
'xiaogou'
(length=7)
1 =>array(size=2)
2 =>
string
'houzi'
(length=5)
3 =>
string
'xiaogou'
(length=7)
array(size=2)0 =>array(size=2)
1 =>
string
'houzi'
(length=5)
2 =>
string
'xiugua'
(length=6)
1 => &array(size=2)
2 =>
string
'xiugua'
(length=6)
3 =>
string
'xiaogou'
(length=7)
手冊說明
可以很容易地通過在 $value 之前加上 & 來修改陣列的元素。此方法將以引用賦值而不是拷貝乙個值。
<?php $arr
= array(1,
2, 3,
4); foreach (
$arr
as &
$value
) // $arr is now array(2, 4, 6, 8)
unset(
$value
); // 最後取消掉引用
?>
$value 的引用僅在被遍歷的陣列可以被引用時才可用(例如是個變數)。以下**則無法執行:
<?php
foreach (array(1,
2, 3,
4) as &
$value
) ?>
warning
陣列最後乙個元素的 $value 引用在 foreach 迴圈之後仍會保留。建議使用 unset()
來將其銷毀。
note:foreach 不支援用「@」來抑制錯誤資訊的能力。
foreach使用 引用傳遞過程
arr array 1 2 3 foreach arr as key value foreach arr as key value var dump arr 輸出的結果居然是 array 0 string 1 1 string 2 2 string 2 在foreach arr as key val...
PHP之foreach引用填坑
看到一篇文章描 就是它 述了php的乙個語法特點,用文本來描述就是如果對乙個陣列進行foreach引用遍歷過後在對這個陣列使用同樣的變數進行一次普通foreach遍歷會導致這個陣列的值發生變化。我這個描述可能還是不太清楚,直接上 可以看到在迴圈當中沒有任何 所以兩次列印出來的資料肯定應該是一模一樣的...
foreach中引用 的問題
在工作中遇到 關於 php foreach 引用的乙個問題 簡單來說,如下 arr array a b c d foreach arr as k v foreach arr as k v print r arr 結果是 ab cc參考了 這篇文章,以及 這篇文章 在第一次foreach 遍歷結束後,...