Dalam pengaturcaraan PHP, kami biasanya menggunakan tatasusunan untuk menyimpan dan mengendalikan data yang kompleks. Kadangkala, kita perlu mencari sama ada tatasusunan lain wujud dalam tatasusunan. Pada masa ini, kita boleh menggunakan beberapa kaedah yang disediakan oleh PHP untuk mencapai ini.
1. Gunakan fungsi in_array() untuk menentukan sama ada nilai wujud
in_array() ialah fungsi dalam PHP yang digunakan untuk menentukan sama ada nilai wujud dalam tatasusunan. Fungsi ini menerima dua parameter: nilai yang akan ditemui dan tatasusunan yang akan dicari. Mengembalikan TRUE jika nilai ditemui, FALSE sebaliknya.
Kod sampel adalah seperti berikut:
$array1 = array("apple", "banana", "orange"); $array2 = array("orange", "grape", "pear"); foreach ($array1 as $value) { if (in_array($value, $array2)) { echo "{$value} exists in array2\n"; } else { echo "{$value} does not exist in array2\n"; } }
Dalam kod sampel di atas, kami mula-mula mentakrifkan dua tatasusunan $array1 dan $array2. Kemudian dalam gelung foreach, lelaran melalui elemen dalam tatasusunan $array1 satu demi satu, dan gunakan fungsi in_array() untuk menentukan sama ada elemen itu wujud dalam tatasusunan $array2. Jika ia wujud, "{element} wujud dalam tatasusunan2" ialah output pada skrin, jika tidak, "{elemen} tidak wujud dalam tatasusunan2" ialah output.
2. Gunakan fungsi array_diff_assoc() untuk membandingkan pasangan nilai kunci
Jika kita perlu membandingkan sama ada dua tatasusunan adalah sama sepenuhnya, kita perlu membandingkan bukan sahaja nilai, tetapi juga pasangan kunci-nilai. Pada ketika ini, anda boleh menggunakan fungsi array_diff_assoc() untuk perbandingan. Fungsi ini mengembalikan pasangan nilai kunci yang wujud dalam tatasusunan pertama tetapi tidak wujud dalam tatasusunan lain.
Kod sampel adalah seperti berikut:
$array1 = array("a" => "apple", "b" => "banana", "c" => "orange"); $array2 = array("d" => "orange", "e" => "grape", "f" => "pear"); $diff = array_diff_assoc($array1, $array2); print_r($diff);
Dalam kod sampel di atas, kami mentakrifkan dua tatasusunan bersekutu $array1 dan $array2. Kemudian gunakan fungsi array_diff_assoc() untuk membandingkan pasangan nilai kunci tatasusunan $array1 dan $array2 untuk mendapatkan pasangan nilai kunci yang berbeza $diff. Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan kandungan tatasusunan $diff.
3. Gunakan fungsi array_intersect_assoc() untuk membandingkan pasangan nilai kunci
Jika kita perlu membandingkan dua tatasusunan untuk melihat sama ada mereka mempunyai pasangan nilai kunci yang sama, kita boleh menggunakan array_intersect_assoc () fungsi. Fungsi ini akan mengembalikan pasangan nilai kunci yang sama dalam kedua-dua tatasusunan.
Kod sampel adalah seperti berikut:
$array1 = array("a" => "apple", "b" => "banana", "c" => "orange"); $array2 = array("d" => "orange", "e" => "grape", "f" => "pear", "a" => "orange"); $intersect = array_intersect_assoc($array1, $array2); print_r($intersect);
Dalam kod sampel di atas, kami mentakrifkan dua tatasusunan bersekutu $array1 dan $array2. Kemudian gunakan fungsi array_intersect_assoc() untuk membandingkan pasangan nilai kunci tatasusunan $array1 dan $array2 untuk mendapatkan pasangan nilai kunci yang sama $intersect. Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan kandungan tatasusunan $intersect.
Ringkasan
Di atas memperkenalkan kaedah untuk menentukan sama ada tatasusunan wujud dalam tatasusunan lain dalam PHP: gunakan fungsi in_array() untuk menentukan sama ada nilai itu wujud menggunakan fungsi array_diff_assoc() untuk bandingkan pasangan nilai kunci ;Gunakan fungsi array_intersect_assoc() untuk membandingkan pasangan nilai kunci. Melalui kaedah ini, kita boleh mencari dan membandingkan pelbagai data dengan cepat dalam tatasusunan dalam pengaturcaraan PHP.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada pasangan nilai kunci wujud dalam tatasusunan lain dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!