使用 in_array() 查询多维数组
In_array() 轻松识别一维数组中元素的存在。然而,它在多维数组中的应用提出了挑战,使其实用性受到质疑。为了解决这个问题,可以使用递归函数来递归地遍历多维数组并确定所需元素的存在。
该函数恰当地命名为 in_array_r(),采用三个参数:目标元素 ($针),要搜索的数组($haystack),以及一个可选参数($strict),该参数指示是否应使用严格相等(===)或宽松相等(==)
函数的迭代过程涉及检查干草堆中的每个元素 ($item)。如果该项目按照指定的比较方法与目标元素匹配,则该函数返回 true。如果元素本身是一个数组,则该函数会以该数组作为新的干草堆递归调用自身,从而有效地探索多维结构的进一步级别。
递归继续,直到检查完所有元素或直到目标元素被发现。如果该元素仍然难以捉摸,该函数将返回 false。
为了演示其功能,请考虑以下用法:
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
在此示例中,该函数搜索是否存在“Irix”在多维数组 $b 中。如果找到,则输出“found”;否则,它输出“未找到”。
以上是如何在 PHP 中有效地使用 in_array() 搜索多维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!