Dalam artikel sebelumnya "Pembelajaran Gelung PHP 3: Cara menggunakan pernyataan gelung untuk merentasi tatasusunan", kami membawa anda memahami pernyataan gelung for dan menganalisis proses pelaksanaan pernyataan gelung for, melalui contoh kod Memperkenalkan kaedah menggunakan pernyataan gelung untuk melintasi tatasusunan. Kaedah menggunakan pernyataan for untuk merentasi tatasusunan adalah agak rumit Hari ini kita akan belajar cara menggunakan pernyataan foreach untuk merentasi tatasusunan dan mengubah suai elemen dalam tatasusunan. !
foreach ialah pernyataan yang direka khas untuk merentasi tatasusunan Ia merupakan kaedah yang biasa digunakan semasa merentasi tatasusunan dan objek). (Lampiran: Penjelasan video tentang fungsi tatasusunan fungsi PHP)
Pernyataan foreach merentasi tatasusunan dan tiada kaitan dengan subskrip tatasusunan, dan boleh digunakan untuk tatasusunan indeks terputus-putus dan subskrip rentetan.
analisis pernyataan foreach
Mari kita lihat pernyataan foreach, yang mempunyai dua format tatabahasa:
Format sintaks 1:
foreach ($array as $value){ 语句块; }
Lintas tatasusunan $array
yang diberikan dan tetapkan nilai tatasusunan semasa kepada $value
dalam setiap gelung.
Format sintaks 2:
foreach ($array as $key => $value){ 语句块; }
Rentasi tatasusunan $array
yang diberikan, dan tetapkan nilai tatasusunan semasa kepada $value
dalam setiap gelung , nama kunci diberikan kepada $key
.
Penjelasan:
Apabila pernyataan foreach bergelung, penunjuk di dalam tatasusunan akan bergerak ke hadapan satu langkah, supaya elemen tatasusunan seterusnya akan diperolehi dalam gelung seterusnya . Sehingga traversal mencapai penghujung tatasusunan, berhenti melintasi dan keluar dari gelung.
Pernyataan foreach merentasi dan mengubah suai tatasusunan
Sekarang kita memahami sintaks pernyataan foreach, mari kita lakukannya dalam amalan dan gunakan contoh kod Mari kita lihat dengan lebih dekat bagaimana pernyataan foreach merentasi tatasusunan.
Instance 1:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); foreach ($array as $value) { echo $value . "<br/>"; } ?>
Output:
香蕉 苹果 梨子 橙子 橘子 榴莲
Instance 2:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); foreach ($array as $key => $value) { echo "键名为:".$key.",键值为:".$value . "<br/>"; } ?>
Output:
Melintasi dan mengubah suai elemen tatasusunan
Secara amnya, apabila menggunakan pernyataan foreach untuk melintasi tatasusunan, Ia beroperasi pada sandaran tatasusunan dan secara amnya tidak menjejaskan tatasusunan itu sendiri.
Contohnya: ubah suai tatasusunan di dalam gelung, dan kemudian akses tatasusunan di luar gelung, anda akan mendapati tatasusunan itu tidak berubah
<?php header("Content-type:text/html;charset=utf-8"); $array= array(1,2,3,4,5,); foreach ($array as $value) { $value = $value*2; // 元素值乘以2 } var_dump($array) ?>
Output:
Dapat dilihat bahawa elemen tatasusunan tidak berubah. Tetapi kadangkala adalah perlu untuk menukar tatasusunan melalui gelung, jadi apa yang perlu kita lakukan?
boleh menggunakan gelung rujukan (tambah $value
sebelum &
supaya pernyataan foreach akan menetapkan nilai dengan rujukan dan bukannya menyalin nilai Kemudian operasi pada tatasusunan dalam badan gelung akan menjejaskan tatasusunan itu sendiri.
<?php $array= array(1,2,3,4,5,); foreach ($array as &$value) { $value = $value*2; // 元素值乘以2 } var_dump($array) ?>
Output:
Seperti yang anda lihat, terdapat &
sebelum elemen terakhir, itu kerana tatasusunan adalah terakhir Rujukan $value elemen kekal selepas gelung foreach. Kita perlu menggunakan unset() untuk memusnahkannya.
<?php $array= array(1,2,3,4,5,); foreach ($array as &$value) { $value = $value*2; // 元素值乘以2 } unset($value); // 最后取消掉引用 var_dump($array) ?>
Output:
Cadangan: 《Koleksi soalan temuduga PHP (koleksi)》《tutorial video php》
Atas ialah kandungan terperinci Pembelajaran gelung PHP empat: Cara menggunakan pernyataan foreach untuk melintasi dan mengubah suai elemen tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!