Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah tatasusunan php diluluskan oleh nilai atau rujukan?

Adakah tatasusunan php diluluskan oleh nilai atau rujukan?

青灯夜游
青灯夜游asal
2023-01-07 17:23:193301semak imbas

Tatasusunan PHP dihantar mengikut nilai. Pemindahan tatasusunan PHP ialah pemindahan nilai apabila memanggil fungsi, menetapkan tatasusunan PHP sebagai parameter sebenar kepada parameter formal dan mengubahsuainya dalam fungsi itu tidak akan menjejaskan tatasusunan itu sendiri, menunjukkan bahawa pemindahan dalam proses ini adalah pemindahan nilai, dan pembolehubah tatasusunan tidak menunjukkan rujukan kepada tatasusunan ini sendiri.

Adakah tatasusunan php diluluskan oleh nilai atau rujukan?

Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP8, komputer DELL G3

Susun atur PHP diluluskan mengikut nilai

Arahan hantaran dalam PHP adalah mengikut nilai dan bukannya rujukan.

Apabila memanggil fungsi, anda menetapkan tatasusunan PHP sebagai parameter sebenar kepada parameter formal Pengubahsuaian dalam fungsi itu tidak akan menjejaskan tatasusunan itu sendiri.

Jelaskan bahawa pemindahan dalam proses ini adalah mengikut nilai Pembolehubah tatasusunan bukanlah rujukan kepada tatasusunan itu sendiri tatasusunan.

Ini sangat berbeza daripada bahasa lain (seperti c, Js, dsb.), jadi patut diberi perhatian!

Contohnya adalah seperti berikut:

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(
    'name' => 'corn',
    'age' => '24',
);
var_dump($arr);
test_arr($arr);
function test_arr($arr){
    $arr['name'] = 'qqyumidi';
}
var_dump($arr); 
?>

Adakah tatasusunan php diluluskan oleh nilai atau rujukan?

Anda boleh melihat bahawa walaupun nilai itu ditetapkan semula, ia tidak akan menjejaskan tatasusunan asal itu sendiri.

Kod js adalah seperti berikut:

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

Adakah tatasusunan php diluluskan oleh nilai atau rujukan?

Jika anda perlu menggunakan kesan pemindahan rujukan untuk pemindahan nilai dalam PHP, anda boleh tambahkannya di hadapan parameter rasmi Ambil aksara alamat &.

<?php
header("Content-type:text/html;charset=utf-8");
$aa = 100;
echo "原变量值:".$aa; 
test_vars($aa);
function test_vars(&$aa){
    $aa = 200;
}
echo "<br>修好后:".$aa;    //result: 200
?>

Adakah tatasusunan php diluluskan oleh nilai atau rujukan?

Nota:

Dalam PHP, kebanyakan jenis pembolehubah, seperti rentetan, integer dan titik terapung , tatasusunan , dsb. adalah semua jenis nilai, manakala kelas dan objek ialah jenis rujukan Anda perlu memberi perhatian kepada perkara ini apabila menggunakannya.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Adakah tatasusunan php diluluskan oleh nilai atau rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah maksud kod php $sum=0?Artikel seterusnya:Apakah maksud kod php $sum=0?