使用array_diff 檢查陣列值是否包含
判斷一個陣列是否包含另一個陣列中的所有值是一項常見的程式設計任務。考慮以下範例:
給定陣列 $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>
我們的目標是驗證 $all 是否包含 $search_this 中存在的所有元素。
利用array_diff 進行高效比較
要實現此比較,最有效的方法是利用array_diff 函數,該函數返回在第一個數組中找到但在第一個數組中找不到的元素數組第二個。透過將其應用到我們的案例中,我們可以推斷 $all 是否包含 $search_this 中的所有值。
<code class="php">$containsAllValues = !array_diff($search_this, $all);</code>
如果結果陣列為空(即,沒有發現差異),則表示 $all 包含$search_this 中的所有值。因此,$containsAllValues 將設定為 true。否則就是假的。該方法以最小的複雜性和簡單的實現有效地解決了問題。
以上是如何使用 array_diff 來決定一個陣列是否包含另一個陣列中的所有值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!