在多维数组中查找数组值


<?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';
?>

相关内容

  • 没有找到相关文章

最新更新