in_array() 函数是检查数组中是否存在某个值的便捷工具。然而,它的用处仅适用于一维数组。处理多维数组时,需要采用不同的方法。
要确定多维数组中是否存在某个值,可以使用递归函数。下面是此类函数的示例:
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
该函数采用三个参数:要搜索的针、要在其中搜索的干草堆以及一个可选的严格标志,用于指定是否严格比较值(即,类型和值)。
要使用递归函数,只需用所需的指针调用它并haystack:
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
这将输出 'found',表明多维数组 $b 中存在“Irix”。
而递归函数是一个通用的解决方案,还有其他方法来检查多维值arrays:
最终,最佳方法取决于应用程序的具体要求。如果考虑速度,递归函数可能是一个合适的选择。否则,替代方法可以提供更简单或更强大的解决方案。
以上是如何在 PHP 中高效地搜索多维数组中的值?的详细内容。更多信息请关注PHP中文网其他相关文章!