ホームページ  >  記事  >  バックエンド開発  >  PHPの2次元配列に特定の値が存在するかどうかを確認する方法

PHPの2次元配列に特定の値が存在するかどうかを確認する方法

PHPz
PHPzオリジナル
2023-04-20 13:55:001333ブラウズ

PHP 特定の値が存在するかどうかを確認するための 2 次元配列

PHP では、配列は一般的に使用されるデータ型の 1 つであり、2 次元配列はより一般的に使用される配列形式の 1 つです。実際の開発では、2次元配列に特定の値が存在するかどうかを調べることがよくありますが、この記事ではいくつかの実装方法を紹介します。

  1. foreach ループを使用する

まず、foreach ループを使用して 2 次元配列全体を走査し、ターゲット値が存在するかどうかを 1 つずつ確認します。コードは次のとおりです:

function search_array($array, $search_value)
{
    foreach($array as $value)
    {
        if(in_array($search_value, $value))
        {
            return true;
        }
    }
    return false;
}

上記のコードでは、2 つのパラメーターを受け取る search_array という名前の関数を定義します。$array は検索対象の 2 次元配列を表し、$search_value は検索対象の値を表します。検索した。

関数本体では、まず foreach ループを使用して 2 次元配列を走査し、毎回配列要素 $value を取り出してから、in_array 関数を使用して $search_value が $value に存在するかどうかを確認します。存在する場合、関数は true を返し、ターゲット値が見つかったことを示します。それ以外の場合、配列の走査が完了するまでループが継続します。

注: in_array() 関数は、配列内の指定された値を検索するために使用されます。見つかった場合は true、そうでない場合は false を返します。

  1. array_walk 関数の使用

foreach ループの使用に加えて、array_walk 関数を使用して配列の各要素を処理し、ターゲット値が存在するかどうかを確認することもできます。コードは次のとおりです。

function search_array($array, $search_value)
{
    $found = false;
    array_walk($array, function($value) use (&$found, $search_value){
        if(in_array($search_value, $value))
        {
            $found = true;
        }
    });
    return $found;
}

上記のコードでは、最初に search_array という名前の関数を定義します。この関数は 2 つのパラメーターを受け取ります。$array は検索対象の 2 次元配列を表し、$search_value は検索対象の値を表します。検索される。また、ターゲット値が見つかったかどうかを示す変数 $found も定義し、false に初期化します。

次に、array_walk 関数を呼び出して、$array 配列を走査しました。ここでは、コールバック関数として無名関数を使用しました。関数は、配列要素を表す $value パラメータを受け取り、use ステートメントを使用して$found と $search_value を渡します。関数本体の in_array 関数を使用して、$search_value が $value に存在するかどうかを確認します。存在する場合は、$found を true に設定し、ターゲット値が見つかったことを示します。最後に、関数は、ターゲット値が見つかったかどうかを示す $found の値を返します。

注: array_walk() 関数は、ユーザー定義関数を配列内の各要素に適用します。成功した場合は TRUE を返し、そうでない場合は FALSE を返します。

  1. array_reduce 関数を使用する

最後に、array_reduce 関数を使用して 2 次元配列全体を走査し、各配列要素にターゲット値 1 が含まれているかどうかを確認することもできます。一つ。コードは次のとおりです。

function search_array($array, $search_value)
{
    $found = array_reduce($array, function($carry, $value) use ($search_value){
        return $carry || in_array($search_value, $value);
    }, false);
    return $found;
}

上記のコードでは、最初に search_array という名前の関数を定義します。この関数は 2 つのパラメーターを受け取ります。$array は検索対象の 2 次元配列を表し、$search_value は検索対象の値を表します。検索される。

次に、無名関数をコールバック関数として使用して、array_reduce 関数を使用して 2 次元配列全体を走査します。$carry は前の反復の戻り値を表し、$value は配列要素を表します。現在まで反復されています。 in_array 関数は関数本体で使用され、$search_value が $value に存在するかどうかを確認します。存在する場合は、$carry || true が返され、ターゲット値が見つかったことを示します。そうでない場合は、$carry || false が返されます。ターゲット値が見つからなかったことを示します。最後に、関数は、ターゲット値が見つかったかどうかを示す $found の値を返します。

注: array_reduce() 関数はコールバック関数を使用して、配列を単一の値に繰り返し削減します。

概要

この記事では、PHP の 2 次元配列を実装して特定の値を見つける 3 つの方法を紹介します。この方法では、foreach ループ、array_walk 関数、および array_reduce 関数を使用して 2 次元配列を走査します。それぞれに target.value が含まれているかどうかを確認します。実際の開発では、コードの効率と実行速度を向上させるために、実際の状況に基づいて適切な実装方法を選択する必要があります。

以上がPHPの2次元配列に特定の値が存在するかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。