Здравствуйте. Есть массив в json в $decode Код (Text): {"tyres":[{"catid":"2","author":"Hankook","profile":"185\/60","radius":"14","protector2":"\u0414\u043e\u0440\u043e\u0436\u043d\u044b\u0439","extent":"\u041b\u0435\u0433\u043a\u043e\u0432\u044b\u0435","extent2":"","extent3":""},{"catid":"2","author":"Dunlop","profile":"185\/65","radius":"13","protector2":"\u0414\u043e\u0440\u043e\u0436\u043d\u044b\u0439","extent":"","extent2":"","extent3":""},{"catid":"2","author":"Yokohama","profile":"185\/55","radius":"15","protector2":"\u0414\u043e\u0440\u043e\u0436\u043d\u044b\u0439","extent":"\u041b\u0435\u0433\u043a\u043e\u0432\u044b\u0435","extent2":"","extent3":""},{"catid":"2","author":"Tigar","profile":"185\/60","radius":"14","protector2":"\u0414\u043e\u0440\u043e\u0436\u043d\u044b\u0439","extent":"","extent2":"","extent3":""}]} И есть массив Код (Text): $G=array('author'=>'Hangook|Dunlop','profile'=>'165/60|185/65','radius'=>'12|13|14','extent'=>'Легковые|Коммерческие'); Надо отфильтровать массив из json согласно $G. Пытаюсь так: Код (Text): $arr = json_decode($decode, true); foreach ($G as $k=>$v) { $aRR = array_filter($arr['tyres'], function ($val) use ($k,$v,$arr) { $search=explode('|',$v); return (in_array($val[$k],$search)); }); } var_dump($aRR); Но не могу получить отфильрованные данные. Уже второй день бьюс((. Помогите!
Решил таким образом: Код (Text): $current=array(); $aRR=array(); foreach ($G as $k=>$v) { $aRR = array_filter($arr['tyres'], function ($val) use ($k,$v) { $search=explode('|',$v); if (in_array($val[$k],$search)) $current[]=$val; return ($current); }); $arr['tyres']=$aRR; } var_dump($arr['tyres']);