Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menentukan sama ada Satu Tatasusunan Mengandungi Semua Nilai Tatasusunan Lain dalam PHP?

Bagaimana untuk Menentukan sama ada Satu Tatasusunan Mengandungi Semua Nilai Tatasusunan Lain dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-02 11:32:02864semak imbas

How to Determine if One Array Contains All Values of Another Array in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn