ホームページ > バックエンド開発 > PHPチュートリアル > PHP で多次元配列内の値の存在を効果的に確認するにはどうすればよいですか?

PHP で多次元配列内の値の存在を効果的に確認するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-22 07:52:09
オリジナル
740 人が閲覧しました

How Can I Effectively Check for Value Existence in Multidimensional Arrays in PHP?

多次元配列における in_array() の動作の詳細な分析

1 次元配列の単純な機能とは異なり、in_array()多次元の対応物を扱う場合、関数は不十分になります。言い換えれば、多次元配列の複雑な構造内に値が存在するかどうかを効果的にチェックすることができません。

多次元配列の代替アプローチ

in_array( に依存する代わりに) )、再帰関数を使用して多次元配列を走査し、必要なチェックを実行することを検討してください。このような関数の 1 つは次のように定義できます。

function in_array_r($needle, $haystack, $strict = false) {
    foreach ($haystack as $item) {
        if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
            return true;
        }
    }

    return false;
}
ログイン後にコピー

カスタム関数の使用法

in_array_r() 関数を利用するには、ターゲット値を指定するだけです。 、多次元配列、およびオプションで厳密な等価 (===) を行うべきかどうかを示すフラグ

使用方法の例を次に示します:

$b = array(array("Mac", "NT"), array("Irix", "Linux"));
echo in_array_r("Irix", $b) ? 'found' : 'not found';
ログイン後にコピー

このコードは、値 'Irix' が多次元配列 $b 内に存在するため、'found' を出力します。

結論

in_array() は依然として価値のあるものである1 次元配列用のツールであるため、多次元構造を扱うときはその制限を認識することが重要です。カスタム関数 in_array_r() を利用することで、機能を拡張し、複雑な多次元構造内の値の存在を効果的にチェックできます。

以上がPHP で多次元配列内の値の存在を効果的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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