foreach之引用 的使用

2021-06-28 08:43:02 字數 1727 閱讀 4928

廢話不說,上**

$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 遍歷結束後,...