PHP配列で条件を問い合わせる

王林
リリース: 2023-05-19 18:54:39
オリジナル
655 人が閲覧しました

PHP は、動的 Web アプリケーションを作成するために広く使用されているサーバー側スクリプト言語です。一般的に使用されるデータ型の 1 つは配列です。これは、同様の値を格納するために使用されるデータ構造です。

PHP では、条件を満たす配列要素をクエリするのが一般的なタスクです。この記事では、PHP で配列内の条件を満たす要素をクエリする方法を検討し、いくつかの実践的な例を示します。

  1. ループ クエリを使用する

最も簡単な方法は、ループを使用して配列全体を走査し、各要素が基準を満たしているかどうかを確認することです。配列内のすべての偶数をクエリする例を次に示します。

$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 より大きい数値のみを加算するためです。

ループ方式はシンプルでわかりやすいですが、配列が大きい場合は時間がかかる場合があります。ここでは別の高速な方法を紹介します。

  1. array_filter 関数を使用する

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 関数はコールバック関数を使用してフィルター条件をカスタマイズできることに注意してください。多次元配列でも動作します。

  1. array_reduce 関数の使用

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 関数も柔軟で、あらゆる関数と併用できます。

結論

PHP では、配列要素をクエリする方法がたくさんあります。実際には、この問題を解決する方法は他にもたくさんあります。この記事では、ループの使用、

array_filter 関数の使用、および array_reduce 関数の使用という 3 つの主な方法について説明します。

ループはシンプルで簡単な方法です。この方法は最も柔軟ですが、配列が大きい場合は時間がかかることがあります。

array_filter この関数を使用すると、条件を満たす要素を検索して返すために必要な条件を簡単に定義できます。また、多次元配列やその他の特殊なケースを処理するために使用することもできます。

array_reduce この関数はあらゆる種類の配列で使用でき、柔軟性が非常に優れています。通常、配列を単一の値に変換するために使用されます。

これらの方法を使用する前に、さまざまな状況で適切な方法を選択できるように、それぞれの長所と短所を理解してください。

以上がPHP配列で条件を問い合わせるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート