値の存在チェック用に設計された PHP の in_array() 関数には、複数の値の検証に関して制限があります。価値観を同時に。この記事は、この課題に対処することを目的として、次の両方のシナリオの解決策を示します。
すべての値の存在を確認する
配列に別の配列のすべての要素が含まれているかどうかを確認するには、次のアプローチを使用します:
<code class="php">$haystack = array(...); $target = array('foo', 'bar'); if (count(array_intersect($haystack, $target)) == count($target)) { // all of $target is in $haystack }</code>
intersect 関数は 2 つの配列間の共通要素を検索し、その数とターゲット配列のサイズを比較することで、すべてのターゲット値が干し草の山に存在することを確認します。
値の存在の確認
対照的に、干し草の山の配列にターゲット配列の値が少なくとも 1 つ含まれているかどうかを確認するには、次の構文を使用します。
<code class="php">if (count(array_intersect($haystack, $target)) > 0) { // at least one of $target is in $haystack }</code>
ここでは、交差のカウントが 0 より大きいかどうかを確認します。これは、ターゲット配列の少なくとも 1 つの値が干し草の山に存在することを示しています。
以上が`in_array()` を使用して PHP 配列内の複数の値をチェックする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。