in_array 函数只针对一维数组,经过简单的构造,就可以查询多维数组。

$arr = array(  
    array('a', 'b'),  
    array('c', 'd')  
);  

in_array('a', $arr); // 此时返回的永远都是 false  
deep_in_array('a', $arr); // 此时返回 true 值  

function deep_in_array($value, $array) {   
    foreach($array as $item) {   
        if(!is_array($item)) {   
            if ($item == $value) {  
                return true;  
            } else {  
                continue;   
            }  
        }   

        if(in_array($value, $item)) {  
            return true;      
            } else if(deep_in_array($value, $item)) {  
            return true;      
        }  
    }   
    return false;   
}

转自:http://www.phpfensi.com/php/20140710/3731.html

标签: PHP

添加新评论