Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Pasan PHP melalui Rujukan dalam Gelung `foreach` Mempengaruhi Pengubahsuaian Elemen Tatasusunan?
PHP Pass by Rujukan di foreach
Pemahaman Pass by Rujukan
PHP mempunyai dua pembolehubah jenis: pembolehubah normal dan pembolehubah rujukan. Menetapkan rujukan pembolehubah kepada pembolehubah lain mencipta pembolehubah rujukan. Pembolehubah menjadi alias untuk pembolehubah yang dirujuk.
Lewati Rujukan dalam Gelung Foreach
Dalam gelung foreach, sintaks foreach ($a sebagai &$v) menghantar rujukan kepada setiap elemen tatasusunan kepada pembolehubah $v. Ini bermakna bahawa sebarang perubahan yang dibuat kepada $v di dalam gelung juga akan mengubah suai elemen tatasusunan asal.
Penjelasan Coretan Kod
$a = array ('zero','one','two', 'three'); foreach ($a as &$v) { } foreach ($a as $v) { echo $v.PHP_EOL; }
Dalam kod ini:
zero one two two
Sebab Output
Selepas gelung foreach pertama, elemen $ a[3] menjadi pembolehubah rujukan kerana ia dirujuk oleh $v. Oleh itu, apabila $v diberikan nilai baharu dalam lelaran berikutnya, $a[3] turut diubah suai.
Memandangkan $a[3] kini merupakan pembolehubah rujukan, menukar nilainya dalam gelung foreach kedua mempengaruhi semua lelaran gelung yang lain. Oleh itu, lelaran terakhir mencetak 'dua' dan bukannya 'tiga'.
Atas ialah kandungan terperinci Bagaimanakah Pasan PHP melalui Rujukan dalam Gelung `foreach` Mempengaruhi Pengubahsuaian Elemen Tatasusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!