首頁 >後端開發 >PHP問題 >php數組傳遞是引用傳值嗎

php數組傳遞是引用傳值嗎

WBOY
WBOY原創
2022-09-20 17:02:361441瀏覽

PHP數組傳遞不是引用傳遞,而是值傳遞;在呼叫函數時透過將PHP數組作為實參賦給形參,在函數中修改,並不會影響到數組本身,說明此過程中的傳遞是值傳遞,數組變數並非指向此數組本身的參考。

php數組傳遞是引用傳值嗎

本文操作環境:Windows10系統、PHP8.1版、Dell G3電腦

php陣列傳遞是引用傳值嗎

PHP中數組傳遞是值傳遞而非引用傳遞。

在呼叫函數時透過將PHP陣列當作實參賦給形參,在函數中修改,不會影響到陣列本身。

說明此過程中的傳遞為值傳遞,數組變數並非是指向此數組本身的引用,PHP數組本身以值的形式存在,同時形參是對數組的拷貝。

這一點與其他一些語言不同(如c、Js等)很不相同,值得注意!

範例如下:

$arr = array(
    'name' => 'corn',
    'age' => '24',
);
test_arr($arr);
function test_arr($arr){
    $arr['name'] = 'qqyumidi';
}
print_r($arr); //result: Array ( [name] => corn [age] => 24 )

js程式碼如下:

var arr = new Array('corn', '24');
test_arr(arr);
function test_arr(arr){
    arr[0] = 'qqyumidi';
}
console.log(arr);  //result:["qqyumidi", "24"]

如果需要對PHP中的值傳遞使用參考傳遞效果,可以在形參前面加上取地址符&。

$aa = 100;
test_vars($aa);
function test_vars(&$aa){
    $aa = 200;
}
print_r($aa);   //result: 200

推薦學習:《PHP影片教學

以上是php數組傳遞是引用傳值嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn