Rujukan pembolehubah untuk pemalar dan pembolehubah PHP
Rujukan Pembolehubah
Rujukan Pembolehubah Ramai guru suka menggunakan penunjuk bahasa C untuk menerangkan. Sebagai orang yang mempunyai pengalaman pembangunan dan pengajaran selama bertahun-tahun - kebanyakan orang yang mempelajari PHP tidak memahami bahasa C sama sekali.
Menggunakan penunjuk dalam bahasa C untuk menerangkan rujukan pembolehubah, kami fikir ia sudah memadai. Lebih-lebih lagi, ia tidak kondusif untuk belajar oleh rakan-rakan yang tidak mempunyai asas dalam bahasa C.
Mengenai titik pengetahuan rujukan berubah-ubah, sila gunakan penjelasan kami sebagai asas untuk memahami!
Mari kita bandingkan hasil pelaksanaan dua keping kod:
Tiada perbezaan dalam sekeping kod pertama. Ia betul-betul sama dengan kod PHP asal kami:
<?php $fo = 5; //$fo的值为5,将5赋值 $bar = $fo; //$bar的值原来为5,现在将值改为6 $bar = 6; //$bar的结果为6 echo $bar.'<br />'; //$fo的结果为5 echo $fo.'<br />'; ?>
Sekeping kod kedua:
<?php $fo = 5; //注意,加上了一个&符哟 $bar = &$fo; $bar = 6; //$bar的结果为6 echo $bar.'<br />'; //$fo的结果为6 echo $fo.'<br />'; ?>
Mengapa kedua-dua keputusan menjadi 6?
Saya sering memberi anda contoh seperti ini. Kita boleh membayangkannya dengan cara ini: nama pembolehubah sepadan dengan nilai data. Seperti yang ditunjukkan di bawah:
dan menambah & (selepas dan aksara) menghalakan pembolehubah ke ruang storan yang sama, seperti yang ditunjukkan di bawah:
Iaitu, tidak kira bagaimana nilai $fo atau $bar berubah, $fo berubah kepada $bar dan $bar berubah, $fo juga akan berubah.
Biar saya berikan anda contoh yang tidak boleh dipercayai untuk membantu anda memahami:
Anda mempunyai anak anjing di rumah yang dipanggil Wangcai. Terdapat seekor lagi anak anjing bernama Goudan. Pada suatu hari, anda makan telur anjing itu. Diberi nama Goudan kepada Wangcai
Kemudian, sama ada anda memukul Goudan atau Wangcai, anda memukul anjing yang sama.
Nota: Jika anda faham, faham dan biasa dengan penunjuk bahasa C. Anda boleh menggunakan penunjuk untuk memahaminya sendiri, yang di luar skop artikel ini.