配列内の複数の値の決定: in_array() を超えて
PHP の in_array() 関数は、配列内の単一の値。ただし、複数の値の存在を同時に判断する必要があるシナリオも考えられます。この記事では、この問題を解決する効率的な方法を検討し、指定された値のすべてまたはいずれかが配列内に存在するかどうかを識別する両方のケースを取り上げます。
ケース 1: すべての値が配列内に存在するかどうかを確認する
すべてのターゲット値が干し草の山の配列に存在するかどうかを確認するには、array_intersect() 関数を利用します。 2 つの配列間の共通部分が計算され、両方の配列に存在する要素のみを含む新しい配列が生成されます。交差配列の数とターゲット配列の数を比較することで、すべてのターゲット値が干し草の山の配列に存在するかどうかを確認できます。
<code class="php">$haystack = array(...); $target = array('foo', 'bar'); if (count(array_intersect($haystack, $target)) == count($target)) { // all of $target is in $haystack }</code>
ケース 2: 少なくとも 1 つあるかどうかを確認する値は配列内に存在します
ターゲット値のいずれかが干し草の山配列内に存在するかどうかを判断するには、同じ array_intersect() 関数を利用します。ただし、今回は、結果の交差配列のカウントが 0 より大きいかどうかだけを検証する必要があります:
<code class="php">if (count(array_intersect($haystack, $target)) > 0) { // at least one of $target is in $haystack }</code>
これらの戦略を採用することで、配列内に複数の値が存在するかどうかを効果的にチェックできます。より複雑なシナリオに対処するために in_array() の機能を拡張します。
以上がPHP 配列に複数の値が存在するかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。