Lima kaedah traversal: 1. Gunakan "for($i=0;$i
$v)" ; 3. Gunakan "while(list($k,$v)=each(array))"; 4. Gunakan "array_map(callback function, array)", dsb.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
php Lima cara untuk merentasi tatasusunan dalam
Kaedah 1: Gunakan pernyataan gelung for
Gelung for akan mentakrifkan pembolehubah yang mengawal bilangan gelung dalam Dalam pernyataan for, pernyataan gelung for boleh melakukan operasi gelung mengikut bilangan gelung yang diketahui, yang sesuai untuk situasi di mana bilangan kali skrip perlu dijalankan diketahui dengan jelas.
Format sintaks bagi gelung for adalah seperti berikut:
for (初始化语句; 循环条件; 变量更新--自增或自减) { 语句块; }
Mari kita lihat contoh kod di bawah:
<?php header("Content-type:text/html;charset=utf-8"); $array= array(2,"数学","梨子",3.14,"榴莲",12); for ($i=0; $i < count($array); $i++) { echo $array[$i] . "<br/>"; } ?>
Hasil output:
Kaedah 2: Gunakan pernyataan gelung foreach
foreach ialah pernyataan yang direka khas untuk merentasi tatasusunan kaedah semasa merentasi tatasusunan Ia memberikan kemudahan besar dalam merentasi tatasusunan selepas PHP5, anda juga boleh melintasi objek (foreach hanya boleh digunakan pada tatasusunan dan objek).
Pernyataan foreach merentasi tatasusunan tanpa mengira subskrip tatasusunan, dan boleh digunakan untuk tatasusunan indeks terputus dan tatasusunan bersekutu dengan rentetan sebagai subskrip.
Mari kita lihat contoh kod di bawah:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); foreach ($array as $val){ echo "值是:" . $val ; echo "<br/>"; } echo "<br/>"; foreach ($array as $key => $value) { echo "键名为:".$key.",键值为:".$value . "<br/>"; } ?>
Hasil keluaran:
Traverse kepada Tatasusunan $array tertentu, dalam setiap gelung, nilai tatasusunan semasa akan diberikan kepada $value, dan nama kunci akan diberikan kepada $key.
Kaedah 3: Gunakan gelung while each() list()
fungsi setiap() mengembalikan nilai kunci semasa dalam tatasusunan dan menggerakkan penuding tatasusunan bergerak ke hadapan. Selepas melaksanakan setiap(), penunjuk tatasusunan akan kekal pada elemen seterusnya dalam tatasusunan atau pada elemen terakhir apabila penghujung tatasusunan dicapai.
Fungsi list() digunakan untuk menetapkan nilai kepada set pembolehubah dalam satu operasi.
sementara gelung setiap() fungsi senarai() fungsi boleh melintasi tatasusunan, mari kita lihat contoh kod di bawah:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); while( list($key, $val) = each($array) ) { echo "$key => $val<br>"; } ?>
Hasil keluaran:
Kaedah 4: Gunakan fungsi array_map()
Gunakan fungsi tanpa nama untuk memproses setiap elemen dalam tatasusunan. Selepas traversal selesai, kembalikan tatasusunan baharu
<?php $arr = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]; var_dump($arr); $arr = array_map(function ($item) { return $item . &#39;_i&#39;; }, $arr); var_dump($arr); ?>
Anda boleh memproses berbilang tatasusunan pada masa yang sama
<?php header(&#39;content-type:text/html;charset=utf-8&#39;); $arr_1 = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]; $arr_2 = [&#39;你&#39;, &#39;好&#39;, &#39;吗&#39;, &#39;原&#39;, &#39;罪&#39;]; // $arr_n = [...]; $arr = array_map(function ($item_1, $item_2) { return $item_1 . &#39;_&#39; . $item_2 . &#39;_i&#39;; }, $arr_1, $arr_2); var_dump($arr); // [&#39;a_你_i&#39;, &#39;b_好_i&#39;, &#39;c_吗_i&#39;, &#39;_原_i&#39;, &#39;_罪_i&#39;] ?>
Kaedah 5: Gunakan fungsi array_walk()
untuk melintasi tatasusunan anda dalam bentuk hantaran rujukan, tiada nilai pulangan dan hanya boleh memproses satu tatasusunan.
<?php $arr = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]; array_walk($arr, function (&$item) { $item = $item . &#39;_i&#39;; }); var_dump($arr); ?>
Adakah anda perasan &$item
Ya, terdapat tambahan &
, yang bermaksud parameter rasmi anda menerima data melalui rujukan. Apa yang anda perlu lakukan ialah mencari cara untuk menukar parameter ini.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah lima cara untuk melintasi tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!