2015-09-18 108 views
0
<?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");喜歡這一點,當我們發現匹配值,然後返回「發現」否則返回「未找到」也值可能是大小寫敏感的,

+0

只需更換'如果(($元素=== $搜索內容)...'和'如果(in_array($元,$搜索內容)...'應該工作。 –

+0

可能重複[在\ _array()和多維數組(http://stackoverflow.com/questions/4128323/in-array-and-multidimensional-array) – Viral

+0

我們得到所需的O/P,你的寶貴支持 – Gopal

回答

0

使用轉換的參數爲小寫strtolower() PHP的功能使這項工作完成。我提出的代碼如下,我希望它可以幫助你。

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

感謝您的寶貴支持 – Gopal