php 提供值傳遞和引用傳遞兩種參數傳遞機制。引用傳遞使用 & 符號將參數的內存地址傳遞給函數,從而可以修改原始變量。引用傳遞適用于修改傳遞的參數或提高性能(對于大型數據結構)。
PHP 引用傳遞:深入理解函數參數傳遞機制
簡介
PHP 中有兩種函數參數傳遞機制:值傳遞和引用傳遞。默認情況下,所有參數都被按值傳遞。值傳遞簡單地將參數的一個副本傳遞給函數,而引用傳遞則將參數的原始內存地址傳遞給函數。
引用傳遞語法
要將參數作為引用傳遞,請使用符號 & 作為函數參數前綴。例如:
function foo(&$param) { // 對 $param 進行操作,這將影響原始變量 }
登錄后復制
何時使用引用傳遞?
引用傳遞在以下情況下很有用:
修改傳遞給函數的參數通過節省內存來提高性能(對于大型數據結構)
實戰案例
案例 1:修改傳遞的參數
$arr = [1, 2, 3]; function modifyArray(&$arr) { $arr[0] = 10; } modifyArray($arr); echo implode(", ", $arr); // 輸出:10, 2, 3
登錄后復制
案例 2:提高性能
function processData($data) { // 對 $data 進行處理,這可能會消耗大量內存 } $data = [大量數據]; // 按值傳遞將復制整個數據集,而按引用傳遞則只傳遞一個引用 processData(&$data);
登錄后復制
參考
[PHP 手冊:參數傳遞](https://www.php.net/manual/zh/language.parameters.pass.php)
[PHP 中的值傳遞和引用傳遞](https://www.w3resource.com/php-exercises/php-variable-exercise-2.php)