Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menentukan sama ada Satu Tatasusunan Mengandungi Semua Nilai Tatasusunan Lain dalam PHP?
Menentukan Pengekalan Array dengan Array_diff
Dalam bidang pengaturcaraan, struktur data memainkan peranan penting dalam mengurus maklumat. Tatasusunan, sebagai struktur data biasa, membenarkan untuk menyimpan dan mengakses elemen secara berurutan. Tugas asas yang timbul dalam manipulasi tatasusunan ialah menyemak sama ada satu tatasusunan mengandungi semua nilai yang terdapat dalam tatasusunan lain. Pertanyaan ini memerlukan penyelesaian yang cekap dan elegan.
Pertimbangkan situasi berikut: dua tatasusunan, $all dan $search_this, diberikan. Objektif kami adalah untuk menilai sama ada $all merangkumi semua nilai yang terdapat dalam $search_this.
<code class="php">$all = array( 0 => 307, 1 => 157, 2 => 234, 3 => 200, 4 => 322, 5 => 324 ); $search_this = array( 0 => 200, 1 => 234 );</code>
Pendekatan Mudah dan Berkesan Menggunakan Array_diff
Memanfaatkan penyelesaian yang paling mudah fungsi PHP array_diff. Fungsi ini membandingkan dua tatasusunan, mengembalikan tatasusunan yang mengandungi unsur-unsur yang terdapat dalam tatasusunan pertama tetapi tidak dalam tatasusunan kedua. Jika kita memanggil array_diff($search_this, $all), ia akan mencipta tatasusunan yang terdiri daripada nilai dalam $search_this yang tiada dalam $all.
Sekarang, untuk menentukan sama ada $all mengandungi semua nilai $search_this , kami hanya menyemak sama ada hasil array_diff kosong. Jika tatasusunan perbezaan kosong, ia menunjukkan bahawa $all mengandungi semua nilai $search_this, dan kami kembalikan benar. Jika tidak, kami mengembalikan palsu.
<code class="php">$containsAllValues = !array_diff($search_this, $all);</code>
Kaedah ini ringkas dan cekap, kerana ia menggunakan fungsi perbandingan tatasusunan PHP terbina dalam. Dengan memanfaatkan keupayaan bahasa yang wujud, kami boleh mengelak daripada melaksanakan algoritma lelaran atau perbandingan yang kompleks sendiri.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan sama ada Satu Tatasusunan Mengandungi Semua Nilai Tatasusunan Lain dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!