PHP は、動的 Web アプリケーションを作成するために広く使用されているサーバー側スクリプト言語です。一般的に使用されるデータ型の 1 つは配列です。これは、同様の値を格納するために使用されるデータ構造です。
PHP では、条件を満たす配列要素をクエリするのが一般的なタスクです。この記事では、PHP で配列内の条件を満たす要素をクエリする方法を検討し、いくつかの実践的な例を示します。
最も簡単な方法は、ループを使用して配列全体を走査し、各要素が基準を満たしているかどうかを確認することです。配列内のすべての偶数をクエリする例を次に示します。
$numbers = array(1,2,3,4,5,6); $even_numbers = array(); foreach($numbers as $number){ if($number % 2 == 0){ $even_numbers[] = $number; } } print_r($even_numbers);
上記のコードは偶数を $even_numbers 配列に追加するだけであるため、これは配列 [2, 4, 6] を出力します。
配列内の 10 より大きいすべての要素など、他の条件を検索したい場合は、条件ステートメントを変更するだけです:
$numbers = array(9, 11, 15, 13, 7, 12); $large_numbers = array(); foreach($numbers as $number){ if($number > 10){ $large_numbers[] = $number; } } print_r($large_numbers);
これにより、配列 [11, 15, 13, 12]、上記のコードは 10 より大きい数値のみを加算するためです。
ループ方式はシンプルでわかりやすいですが、配列が大きい場合は時間がかかる場合があります。ここでは別の高速な方法を紹介します。
PHP の array_filter
関数を使用すると、配列内の要素をフィルタリングし、条件を満たす要素のみを返すことができます。次に、10 より大きい配列内のすべての要素を返す例を示します。
$numbers = array(9, 11, 15, 13, 7, 12); $filtered_numbers = array_filter($numbers, function($number){ return $number > 10; }); print_r($filtered_numbers);
このコードは、前の例と同じ配列 [11, 15, 13, 12] を出力します。
他の条件を使用したい場合は、コールバック関数を変更するだけです:
$numbers = array(1,2,3,4,5,6); $filtered_numbers = array_filter($numbers, function($number){ return $number % 2 == 0; }); print_r($filtered_numbers);
これにより、最初の例と同じ配列 [2, 4, 6] が出力されます。
array_filter
関数はコールバック関数を使用してフィルター条件をカスタマイズできることに注意してください。多次元配列でも動作します。
PHP の array_reduce
関数は、指定されたコールバック関数を実行して、配列内の各要素を処理します。通常、配列を単一の値に変換するために使用されますが、配列データをフィルターするために使用することもできます。 array_reduce
関数を使用して 10 より大きいすべての要素の累積合計を返す例を次に示します。
$numbers = [9, 11, 15, 13, 7, 12]; $sum = array_reduce($numbers, function($carry, $number){ if($number > 10){ return $carry + $number; } return $carry; }); print_r($sum);
# しかないため、このコードは 51
を出力します。 ## 11, 15,13, 12 これら 4 つの数字は 10 より大きくなります。
array_reduce 関数も柔軟で、あらゆる関数と併用できます。
array_filter 関数の使用、および
array_reduce 関数の使用という 3 つの主な方法について説明します。
array_filter この関数を使用すると、条件を満たす要素を検索して返すために必要な条件を簡単に定義できます。また、多次元配列やその他の特殊なケースを処理するために使用することもできます。
array_reduce この関数はあらゆる種類の配列で使用でき、柔軟性が非常に優れています。通常、配列を単一の値に変換するために使用されます。
以上がPHP配列で条件を問い合わせるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。