<?php
function multi_array_search($search_for, $search_in) {
foreach ($search_in as $element) {
if ( ($element === $search_for) || (is_array($element) && multi_array_search($search_for, $element)) ){
return true;
}
}
return false;
}
$arr = array("2014", array("January", "February", "March"), "2015", array("Monday", "Tuesday"));
echo multi_array_search("Tuesday", $arr) ? 'Found' : 'Not found';
?>
在上面的代码中在multi_array_search("Tuesday",$arr);
我们传递的第一个参数是value
第二个参数是array
但是我的查询是,我们传递的第一个参数是一组值。
。我们像这样使用$array=array("2015","Tuesday","March");
,当我们找到匹配的值时,然后返回' found',否则返回'Not found',值也可能是区分大小写的,
使用PHP的strtolower()函数将参数转换为小写即可完成此工作。我整理的代码如下,希望对你有所帮助。
<?php
function multi_array_search($search_for, $search_in) {
$search_for=strtolower($search_for);
foreach ($search_in as $element) {
if(!is_array($element))
$element=strtolower($element);
if ( ($element === $search_for) || (is_array($element) && multi_array_search($search_for, $element)) ){
return true;
}
}
return false;
}
$arr = array("2014", array("January", "February", "March"), "2015", array("Monday", "Tuesday"));
echo multi_array_search("TUESDAY", $arr) ? 'Found' : 'Not found';
?>