搜索组合的2D数组值?

时间:2012-05-09 15:37:55

标签: php arrays multidimensional-array

我有一个2D数组,我想知道如何使用PHP搜索它。我的阵列是:

Array (
    [0] => Array (
        [Image] => 1.png
        [Manufacturer] => Manu1
        [Model] => Model1
    )
    [1] => Array (
        [Image] => 2.png 
        [Manufacturer] => Manu2
        [Model] => Model2
    ) 
    [2] => Array ( 
        [Image] => 3.png
        [Manufacturer] => Manu3
        [Model] => Model3
    )
) ]

我希望人们能够做的是对制造商和模型的组合值进行“LIKE”搜索。即,如果有人搜索:

Ma = Would return all 
Mo = Would return all 
Manu3 = Would return Manu 3 Model3
Manu2 Mo =Would return Manu 2 Mo'XXXX'
Model1 = Would return Manu 1 Model 1

1 个答案:

答案 0 :(得分:1)

这是来自 Jeroen 的修复代码:

function searchArray($query, $array) {
    $tmp = array();
    $subq = explode(' ', $query);
    foreach ($array as $key => $val) {
        foreach($subq as $q) {
            if (strpos($val['Manufacturer'], $q) !== 0 || strpos($val['Model'], $q) !== 0) {
                $tmp[$key] = $val;
            }
        }
    }
    return $tmp;
}

print_r($tmp);