-1

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
4

1 に答える 1

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);
于 2012-05-09T15:51:33.980 に答える