in_array() を使用した多次元配列の検索
in_array() 関数は、配列内の値の存在を確認する便利なツールです。配列だけでなく、多次元構造を持つ配列を扱う場合には不十分です。この制限を克服するには、次の点を考慮してください。
カスタム再帰関数
in_array() に依存する代わりに、次のような再帰関数を使用できます。 in_array_r:
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';
以上がPHP で多次元配列を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。