首頁  >  文章  >  後端開發  >  PHP 中如何判斷一個陣列是否包含另一個陣列的所有值?

PHP 中如何判斷一個陣列是否包含另一個陣列的所有值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-02 11:32:02864瀏覽

How to Determine if One Array Contains All Values of Another Array in PHP?

使用 Array_diff 確定數組包含

在程式設計領域中,資料結構在管理資訊方面發揮著至關重要的作用。數組是一種常見的資料結構,允許順序儲存和存取元素。數組操作中出現的一項基本任務是檢查一個數組是否包含另一個數組中存在的所有值。這個查詢需要一個高效且優雅的解決方案。

考慮以下情況:給出兩個陣列 $all 和 $search_this。我們的目標是評估 $all 是否包含 $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>

使用 Array_diff 的簡單有效方法

最直接的解決方案利用PHP 函數 array_diff。此函數比較兩個數組,並傳回一個包含第一個數組中存在但第二個數組中不存在的元素的數組。如果我們呼叫 array_diff($search_this, $all),它將建立一個數組,其中包含 $search_this 中 $all 中不存在的值。

現在,確定 $all 是否包含 $search_this 的所有值,我們只需檢查 array_diff 的結果是否為空。如果差異數組為空,則表示 $all 包含 $search_this 的所有值,我們傳回 true。否則,我們回傳 false。

<code class="php">$containsAllValues = !array_diff($search_this, $all);</code>

此方法既簡潔又高效,因為它利用了 PHP 內建的陣列比較功能。透過利用語言的固有功能,我們可以避免自己實現複雜的迭代或比較演算法。

以上是PHP 中如何判斷一個陣列是否包含另一個陣列的所有值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn