PHP では、各値が配列内に存在するかどうかをクエリすることが一般的な要件です。これには通常、配列をループして各値が存在するかどうかを確認することが含まれます。ただし、実際の状況では、時間とリソースを節約するために、このタスクを完了するためのより効率的な方法が必要です。
PHP では、in_array() 関数と array_diff() 関数を使用してこのタスクを完了できます。 in_array() 関数は、配列内に特定の要素が存在するかどうかを確認するために使用されます。存在する場合は true を返し、存在しない場合は false を返します。 array_diff() 関数は 2 つの配列の差を計算するために使用され、最初の配列にはあるが 2 番目の配列には含まれない要素を返します。
これらの関数を使用して、各値が配列内に存在するかどうかをクエリする方法のサンプル コードを次に示します:
<?php // 准备要查询的值列表 $values = array('apple', 'banana', 'orange'); // 准备要查询的数组 $fruits = array('apple', 'banana', 'peach', 'kiwi', 'orange'); // 检查每个值是否存在于数组中 $missing = array(); foreach ($values as $value) { if (!in_array($value, $fruits)) { $missing[] = $value; } } // 输出缺失的值 if (count($missing) > 0) { echo "The following values are missing: " . implode(', ', $missing); } else { echo "All values are present in the array."; } ?>
この例では、最初にクエリする値のリストを定義します。クエリする値、クエリする配列。次に、in_array() 関数を使用したループを使用して、各値が配列内に存在するかどうかを確認します。値が配列に存在しない場合は、値が不足している配列に追加されます。最後に、欠落している配列をチェックし、欠落している値を出力します。
array_diff() 関数を使用して同じタスクを実行することもできますが、より効率的です:
<?php // 准备要查询的值列表 $values = array('apple', 'banana', 'orange'); // 准备要查询的数组 $fruits = array('apple', 'banana', 'peach', 'kiwi', 'orange'); // 计算数组之间的差异 $missing = array_diff($values, $fruits); // 输出缺失的值 if (count($missing) > 0) { echo "The following values are missing: " . implode(', ', $missing); } else { echo "All values are present in the array."; } ?>
この例では、array_diff() 関数を使用して $values を計算します。と $fruits 配列の違い。これは、$values 配列内にある要素を返しますが、$fruits 配列内にはありません。値が欠落している場合は、それらを出力します。それ以外の場合は、すべての値が配列内に存在することを出力します。
要約すると、in_array() 関数または array_diff() 関数を使用して、配列内の各値が存在するかどうかをクエリすることが可能です。これらの関数はすべて PHP の組み込み関数であるため、使用するために追加のライブラリやプラグインをインストールする必要はありません。個人的な好みとしては、より効率的な array_diff() 関数を使用することです。どの方法を選択しても、各値が配列内に存在するかどうかをすばやくクエリするのに役立ちます。
以上がPHPで各値が配列に存在するかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。