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)






