Dalam pembangunan PHP, kita sering menghadapi situasi di mana kita perlu bertanya sama ada tatasusunan wujud dalam tatasusunan lain. Keadaan ini biasanya berlaku dalam senario di mana perlu untuk menentukan sama ada data yang dikemukakan oleh pengguna adalah sah dan sama ada hubungan antara kedua-dua jadual itu wujud. Sebagai tindak balas kepada situasi ini, artikel ini akan memperkenalkan beberapa kaedah dalam PHP untuk bertanya sama ada tatasusunan wujud.
Kaedah 1: Gunakan fungsi array_diff
Fungsi array_diff boleh digunakan untuk mengira set perbezaan tatasusunan Jika tiada persilangan antara dua tatasusunan, tatasusunan asal akan dikembalikan. elemen di luar persimpangan dikembalikan, iaitu set perbezaan. Oleh itu, kita boleh menggunakan fungsi array_diff untuk menentukan sama ada terdapat persilangan antara dua tatasusunan Jika terdapat persilangan, ia bermakna elemen antara tatasusunan adalah sama.
Kod contoh:
if (count(array_diff($arr1, $arr2)) == 0) { echo "数组arr1存在于数组arr2中"; } else { echo "数组arr1不存在于数组arr2中"; }
Dalam kod di atas, kami membandingkan set perbezaan antara tatasusunan $arr1 dan $arr2 Jika set perbezaan kosong, ini bermakna tatasusunan $arr1 sepenuhnya wujud dalam tatasusunan $arr2.
Kaedah 2: Gunakan fungsi array_intersect
Fungsi array_intersect boleh digunakan untuk mengira persilangan tatasusunan Jika terdapat persilangan antara dua tatasusunan, ia mengembalikan elemen bahagian persilangan tiada persimpangan, ia mengembalikan tatasusunan kosong. Oleh itu, kita boleh menggunakan fungsi array_intersect untuk menentukan sama ada terdapat persilangan antara dua tatasusunan Jika terdapat persimpangan, ia bermakna unsur yang sama wujud di antara tatasusunan.
Kod contoh:
if (count(array_intersect($arr1, $arr2)) > 0) { echo "数组arr1存在于数组arr2中"; } else { echo "数组arr1不存在于数组arr2中"; }
Dalam kod di atas, kami membandingkan persilangan antara tatasusunan $arr1 dan $arr2 Jika persimpangan itu tidak kosong, ini bermakna sekurang-kurangnya satu elemen tatasusunan $ arr1 wujud dalam array $arr2.
Kaedah 3: Gunakan fungsi in_array
Fungsi in_array boleh digunakan untuk menentukan sama ada unsur wujud dalam tatasusunan. Oleh itu, kita boleh gelung melalui menggunakan fungsi in_array untuk menentukan sama ada setiap elemen dalam tatasusunan $arr1 wujud dalam tatasusunan $arr2 Jika semua elemen dalam tatasusunan $arr1 wujud dalam tatasusunan $arr2, ini bermakna tatasusunan $arr1 wujud sepenuhnya dalam tatasusunan $arr2. . dalam array $arr2, jika tidak, ia tidak wujud.
Kod contoh:
$flag = true; foreach ($arr1 as $value) { if (!in_array($value, $arr2)) { $flag = false; break; } } if ($flag) { echo "数组arr1存在于数组arr2中"; } else { echo "数组arr1不存在于数组arr2中"; }
Dalam kod di atas, kita gelung untuk menentukan sama ada setiap elemen dalam tatasusunan $arr1 wujud dalam tatasusunan $arr2, jika semua elemen dalam tatasusunan $arr1 wujud Dalam tatasusunan $ arr2, tentukan pembolehubah $flag dan tetapkan nilai true, jika tidak, ubah suai nilai $flag kepada false. Akhir sekali, tentukan sama ada tatasusunan $arr1 wujud dalam tatasusunan $arr2 berdasarkan nilai $flag.
Di atas ialah beberapa cara untuk bertanya sama ada tatasusunan wujud dalam PHP. Pembangun boleh memilih kaedah yang berbeza mengikut senario perniagaan sebenar.
Atas ialah kandungan terperinci tatasusunan pertanyaan php sama ada tatasusunan wujud. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!