在多维数组

时间:2015-09-18 05:30:45

标签: multidimensional-array

<?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',该值也可能区分大小写,

1 个答案:

答案 0 :(得分:0)

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