Rumah > Artikel > pembangunan bahagian belakang > Adakah tatasusunan php diluluskan oleh nilai atau rujukan?
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.
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( &#39;name&#39; => &#39;corn&#39;, &#39;age&#39; => &#39;24&#39;, ); var_dump($arr); test_arr($arr); function test_arr($arr){ $arr[&#39;name&#39;] = &#39;qqyumidi&#39;; } var_dump($arr); ?>
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(&#39;corn&#39;, &#39;24&#39;); test_arr(arr); function test_arr(arr){ arr[0] = &#39;qqyumidi&#39;; } console.log(arr); //result:["qqyumidi", "24"]
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 ?>
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!