在 php 中,通過引用傳遞可以修改函數外已傳遞的原始變量,語法為在參數名前加上 & 符號。例如,按引用傳遞數組后,函數內的修改可以影響原始數組。
掌握 PHP 引用傳遞:提升函數參數傳遞能力
在 PHP 中,傳遞給函數的參數默認情況下是 按值傳遞 的,這意味著函數內的任何修改都不會影響原始變量。但是,可以通過引用傳遞來解決這個問題,讓函數可以對原始變量進行直接修改。
語法:
要按引用傳遞參數,需要在參數名前加上 & 符號:
function function_name(&$param) { // 操作 $param }
登錄后復制
實戰案例:
假設有一個數組 $array,我們想編寫一個函數來將數組的第一個元素設置為 “Hello”:
function set_first_element($array) { $array[0] = "Hello"; } $array = [1, 2, 3]; set_first_element($array); var_dump($array); // 輸出:[1, 2, 3]
登錄后復制
由于數組 $array 是按值傳遞的,因此函數內的修改不會影響原始數組。
解決方法:
我們可以通過引用傳遞數組來讓函數修改原始數組:
function set_first_element(&$array) { $array[0] = "Hello"; } $array = [1, 2, 3]; set_first_element($array); var_dump($array); // 輸出:[Hello, 2, 3]
登錄后復制
現在,$array 數組被成功修改了。