PHP 迴圈 傳引用 用法及問題

2021-10-01 03:57:47 字數 714 閱讀 7660

// 不銷毀變數

echo '不銷毀變數',"\n";

$arr = [1,2,3];

dump($arr);

// 記得測試 foreach 傳引用

foreach ($arr as &$val)

dump($arr);

$val = 5;

dump($arr);

執行結果如下:

可以看出最後,最後給變數賦值,賦值影響了陣列最後資料

正確用法應該是:

// 銷毀變數

echo '銷毀變數',"\n";

$arr = [1,2,3];

dump($arr);

// 記得測試 foreach 傳引用

foreach ($arr as &$val)

dump($arr);

unset($val);

$val = 5;

dump($arr);

執行結果如下:

可以看出,給變數賦值,賦值不會影響陣列內部資料

perl函式中的傳引用用法

自己的 sub inshash 1 close infile while key,value each ref hash field inshash tmp filenm src 2,hash field src perl中的是如何在函式中使用引用引數的。有時不想返回陣列或者其他形式,希望直接修改函...

引用 的用法規則及傳參

1.引用沒有定義,是一種關係型宣告 宣告它和原有某一變數 實體 的關係。故而型別與原型別保持一致,且不分配記憶體。與被引用的變數有相同的位址。2.宣告的時候必須初始化,一經宣告,不可變更。3.可對引用,再次引用。多次引用的結果,是某一變數具有多個別名。4.符號前有資料型別時,是引用。其它皆為取位址 ...

PHP中foreach迴圈傳值問題

首先看一段 a array ab cd ef count 3 foreach a as key value foreach a as key value 輸出結果是什麼呢?string 2 ab string 2 cd string 2 ef 我明明在foreach迴圈中對陣列的value進行了改變...