У меня есть массив JSON, который использует json_decode()
для настройки данных.
Я ищу, чтобы соответствовать определенному элементу в массиве, и если он соответствует, мне нужно вернуть всю «строку» массива, а не просто одно поле, подобное всем найденным фрагментам filter_array ().
Может кто-то указать мне верное направление?
Данные выглядят так, прежде чем вызывать json_decode()
:
[ { "format": "default", "media_url": "http://cpe.delvenetworks.com/000337/011911_redzonefull.mp3", "title": "RZ - Jim Trotter", "thumb_url": "", "date_posted": "2011-01-19 14:58:45", "media_type": "audio" }, { "format": "default", "media_url": "http://cpe.delvenetworks.com/000337/f10bestof2010offense.mp4", "title": "Best of O - 2010", "thumb_url": "http://img.delvenetworks.com/bV7.120x66.jpeg", "date_posted": "2011-01-18 16:01:45", "media_type": "video" }, { "format": "default", "media_url": "http://cpe.delvenetworks.com/000337\f10bestof2010defense.mp4", "title": "Best od D - 2010", "thumb_url": "http://img.delvenetworks.com/UqK.120x66.jpeg", "date_posted": "2011-01-18 16:01:45", "media_type": "video" }
Мне нужно сопоставить media_type
.
Что-то вроде этого?
function filter($filter, $array){ $filtered_array = array(); for($i = 0; i < count(array); i++){ if($array[i].media_type == $filter) $filtered_array[] = array[i] } return $filtered_array }
Исправленный:
function filter($filter, $array){ $filtered_array = $array(); for ($i = 0; $i < count($array); $i++){ if($array[$i].media_type == $filter) $filtered_array[] = $array[$i]; } return $filtered_array; }
PHP
media_type_array($json,$filter) // function name <br/> { $filtered_array=array(); foreach($json as $key=>$value) { foreach($value as $key1=>$value1) { if ($value1==$filter) { $filtered_array[]=$value; } } } return $filtered_array; }