ホームページ >バックエンド開発 >PHPチュートリアル >PHP で多次元配列内の値を効率的に検索するにはどうすればよいですか?
in_array() 関数は、配列内に値が存在するかどうかを確認するための便利なツールです。ただし、その有用性は 1 次元配列にのみ適用されます。多次元配列を扱う場合は、別のアプローチが必要です。
多次元配列に値が存在するかどうかを判断するには、再帰関数を使用できます。そのような関数の例を次に示します。
def in_array_r(needle, haystack, strict = False): for item in haystack: if ((strict ? item === needle : item == needle) or (is_array(item) && in_array_r(needle, item, strict))) { return True } return False
この関数は 3 つの引数を取ります: 検索する針、その中で検索する干し草の山、および値を厳密に比較するかどうかを指定するオプションの strict フラグ (つまり、
再帰関数を利用するには、単に目的のニードルで呼び出して、 haystack:
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
これは、「found」を出力し、多次元配列 $b に "Irix" が存在することを示します。
再帰関数は汎用性の高いソリューションですが、多次元の値をチェックする他の方法もありますarrays:
最終的に、最適なアプローチはアプリケーションの特定の要件によって異なります。速度を重視する場合は、再帰関数が適切な選択となる可能性があります。それ以外の場合は、代替方法を使用することで、よりシンプルまたはより堅牢なソリューションを提供できます。
以上がPHP で多次元配列内の値を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。