Dalam PHP, melintasi tatasusunan ialah operasi yang sangat biasa. Kami biasanya mahu menggunakan kaedah ini untuk mencari elemen dalam tatasusunan, beroperasi pada tatasusunan atau mengeluarkan semua elemen dalam tatasusunan. Dalam sesetengah kes, kita perlu mencari elemen tersebut dengan nilai yang sama untuk melaksanakan beberapa operasi lain. Artikel ini akan meneroka secara terperinci cara melintasi tatasusunan yang sama dalam PHP.
Pertama, mari kita lihat dua kaedah merentasi tatasusunan dalam PHP:
Gelung foreach ialah kaedah yang paling biasa daripada merentasi tatasusunan dalam PHP, struktur sintaks asasnya adalah seperti berikut:
foreach (array_expression as $key => $value) { // code to be executed; }
array_expression
: tatasusunan yang akan dilalui $key
: kunci elemen semasa $value
: Nilai elemen semasa Gelung foreach akan berulang melalui setiap elemen dalam tatasusunan secara bergilir-gilir, tetapkan kunci dan nilainya kepada $key
dan $value
, dan kemudian laksanakan kod yang sepadan.
Sebagai contoh mudah, kami mempunyai tatasusunan:
$arr = array(2, 4, 6, 8, 10);
Gunakan gelung foreach untuk melintasi tatasusunan ini dan keluarkan setiap elemen:
foreach ($arr as $value) { echo $value . "<br>"; }
Keluaran adalah seperti berikut:
2 4 6 8 10
Gelung for juga merupakan cara biasa untuk melintasi tatasusunan dalam PHP, sama seperti gelung for biasa. Struktur sintaks asas adalah seperti berikut:
for ($i = 0; $i < count($array); $i++) { // code to be executed; }
$array
: tatasusunan yang perlu dilalui $i
: indeks unsur semasa for loop akan menggunakan Fungsi count()
mengira bilangan elemen dalam tatasusunan, menyimpannya dalam pembolehubah $i
, dan kemudian berulang melalui setiap elemen dalam tatasusunan.
Sebagai contoh mudah, kami mempunyai tatasusunan yang sama seperti di atas:
$arr = array(2, 4, 6, 8, 10);
Gunakan gelung for untuk melelaran melalui tatasusunan ini dan keluarkan setiap elemen:
for ($i = 0; $i < count($arr); $i++) { echo $arr[$i] . "<br>"; }
Keluarannya ialah seperti berikut:
2 4 6 8 10
Di atas adalah kaedah asas merentasi tatasusunan dalam PHP Di bawah ini kami akan memperkenalkan cara melintasi tatasusunan yang sama.
array_count_values() fungsi boleh mencari elemen dengan nilai yang sama dalam tatasusunan. Struktur sintaks asasnya adalah seperti berikut:
array array_count_values ( array $array )
$array
: Tatasusunan yang akan ditemui Fungsi ini akan mengembalikan tatasusunan baharu, yang mengandungi setiap elemen dalam tatasusunan asal Bilangan kejadian unsur. Untuk memberikan contoh mudah, kami mempunyai tatasusunan:
$arr = array(1, 2, 3, 4, 3, 2, 1, 5);
Gunakan fungsi array_count_values() untuk mencari elemen yang sama di dalamnya:
$newArr = array_count_values($arr); print_r($newArr);
Outputnya adalah seperti berikut:
Array ( [1] => 2 [2] => 2 [3] => 2 [4] => 1 [5] => 1 )
Seperti yang anda boleh lihat daripada output Out, tatasusunan baharu mengandungi bilangan kejadian setiap elemen dalam tatasusunan asal, yang mana elemen 1, 2 dan 3 muncul dua kali, dan elemen 4 dan 5 hanya muncul sekali.
Cara lain untuk mengulang elemen yang sama dalam tatasusunan ialah menggunakan gelung foreach. Idea khusus ialah menggunakan gelung foreach bersarang Setiap kali ia merentasi elemen tatasusunan, ia merentasi elemen di belakangnya dan membandingkan sama ada nilainya adalah sama. Sebagai contoh mudah, kami mempunyai tatasusunan:
$arr = array(1, 2, 3, 4, 3, 2, 1, 5);
Gunakan gelung foreach untuk melintasi tatasusunan ini dan cari elemen yang sama di dalamnya:
$sameArr = array(); foreach ($arr as $key1 => $value1) { foreach ($arr as $key2 => $value2) { if ($key1 < $key2 && $value1 == $value2) { $sameArr[] = $value1; } } } print_r($sameArr);
Outputnya adalah seperti berikut:
Array ( [0] => 2 [1] => 3 [2] => 1 )
Dari Seperti yang dapat dilihat daripada output, elemen 2, 3, dan 1 yang sama dalam tatasusunan asal ditemui. Malah, kaedah ini lebih menyusahkan dan lebih memakan masa apabila memproses tatasusunan besar Adalah disyorkan untuk menggunakan fungsi array_count_values().
Di atas ialah dua kaedah untuk merentasi tatasusunan yang sama dalam PHP. Saya harap ia akan membantu anda.
Atas ialah kandungan terperinci Bagaimana untuk melintasi tatasusunan yang sama dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!