Как отредактировать мой код, чтобы он печатал все блоки строки JSON, а не только первый?

Я пытаюсь получить содержимое некоторых исходных файлов с одной и той же страницы и сохранить их в MySQL. Некоторые файлы имеют разные имена свойств, чем другие, поэтому более «авто» код поможет. Я вставляю ниже пример исходного файла, но вы можете видеть его вживую с моими кодами ниже.

Пример исходного файла:

{ Trims: [ { "model_id":"15155" ,"model_make_id":"ford" ,"model_name":"Taurus" ,"model_trim":"" ,"model_year":"2000" ,...(all available model fields are included) }, { "model_id":"15073" ,"model_make_id":"ford" ,"model_name":"Taurus" ,"model_trim":"3.0" ,"model_year":"2000" ,...(all available model fields are included) }, {etc...} }]} 

Ожидаемый результат:

Я хочу напечатать имена свойств только один раз, потому что они имеют одинаковый номер для всего исходного файла.

 model_id model_make_id model_name model_trim model_year ...and so on.... ------ and afterwards all the values 15155 ford Taurus 2000 ...and so on... 15073 ford Taurus 3.0 2000 ...and so on... 

ПЕРВАЯ обходная попытка: http://codepad.viper-7.com/dZDxoo

Я могу напечатать имена свойств и значения. Но с проблемой. Мне нужно только один раз имена свойств, и это нормально. Но он печатает только первый блок VALUES, а не другие VALUES. Если я могу распечатать все, это мое решение. Количество имен свойств из разных исходных файлов, в которых я работаю, различно, поэтому это помогает мне автоматически получать имена.

 <?php $json = file_get_contents('http://www.carqueryapi.com/api/0.3/?cmd=getTrims&year=2007&make=mini'); $vres = array('{"Trims":' , '}]}'); $allakse = array("" , "}]"); $json = str_replace($vres, $allakse, $json); $cars = json_decode($json, true); foreach ($cars[0] as $key => $car) { echo "$key", "\n"; } echo"<br><br>"; foreach ($cars[0] as $key => $car) { echo "$car", "\n"; } на <?php $json = file_get_contents('http://www.carqueryapi.com/api/0.3/?cmd=getTrims&year=2007&make=mini'); $vres = array('{"Trims":' , '}]}'); $allakse = array("" , "}]"); $json = str_replace($vres, $allakse, $json); $cars = json_decode($json, true); foreach ($cars[0] as $key => $car) { echo "$key", "\n"; } echo"<br><br>"; foreach ($cars[0] as $key => $car) { echo "$car", "\n"; } 

ВТОРАЯ обходная попытка: http://codepad.viper-7.com/7bcDUx

Поскольку исходные файлы имеют другое количество свойств, наличие фиксированного for each - echo loop не поможет мне. Это важно, потому что я хочу получить имена свойств автоматически из каждого исходного файла. Кроме того, я не могу напечатать имена свойств, просто значения.

 <?php $json = file_get_contents('http://www.carqueryapi.com/api/0.3/?cmd=getTrims&year=2007&make=mini'); $cars = json_decode($json, true); foreach($cars['Trims'] as $car){ echo $car['model_body'].'<br/>'; } 

Что делать, чтобы отображать все значения из всех блоков, а не только из первого?