數組搜索返回錯誤。preg_match()期望參數2是字符串,數組給出
假設我有一個數組,像這樣---
[1] => Array
(
[id] => 11
[category] => phone cases
[country] => sweden
[sale_price] => 90,99
[price] => 120
[currency] => sek
[vat] => 19
[product_name] => "iphone 6 plus" case transparent
[description] => transparent case for iphone 6 plus
)
[2] => Array
(
[id] => 13
[category] => shoes
[country] => sweden
[sale_price] => 180,99
[price] => 200
[currency] => sek
[vat] => 19
[product_name] => blue platform shoes
現在我想從這個數組搜索的東西,基本上我試圖從$ all_data,[「PRODUCT_NAME」]發現場
$data = 'plus'; // what i want to search
$search = $this->my_array_search($all_data, $data);
function my_array_search($array, $string) {
$pattern = preg_replace('/\s+/', ' ', preg_quote($string));
return array_filter($array, function ($value) use($pattern) {
return preg_match('/' . $pattern . '/', $value) == 1;
});
}
但它的回頭率我一個錯誤 -
p reg_match()期望參數2是字符串,數組給定
我做錯了什麼,做任何人都知道如何解決這個問題!
頂級數組的項目是數組,而不是字符串。 –
@MaratTanalin比我應該如何從數組中搜索 –
'$ value'是一個數組,'$ value ['product_name']'是你感興趣的數組中的字符串。 – Sammitch