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:

2015-08-02_55bdc64daf9e3.png

dan menambah & (selepas dan aksara) menghalakan pembolehubah ke ruang storan yang sama, seperti yang ditunjukkan di bawah:

2015-08-02_55bdc68312f9b.png

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.

Meneruskan pembelajaran
||
<?php $fo = 5; //注意,加上了一个&符哟 $bar = &$fo; $bar = 6; //$bar的结果为6 echo $bar.'<br />'; //$fo的结果为6 echo $fo.'<br />'; ?>
  • Cadangan kursus
  • Muat turun perisian kursus