Задать вопрос
vishneviy_sad_c
@vishneviy_sad_c

Генерация json с вложенными объектами?

Друзья подскажите пожалуйста!
Есть однотипные данные приходящие с сервера:
<?foreach($arr as $value)?>
.....

$title_bl = $value['title'];
$descr_bl = $value['descr'];
$img_bl = $value['img'];

?>


как сформировать такой json из этих условных данных
$json = [
  {
   "title_bl": "title",
   "descr_bl": "descr",
   "img_bl": "img"
 },
 {
   "title_bl": "title",
   "descr_bl": "descr",
   "img_bl": "img"
 
 }
 
]
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Средний 10 комментариев
Решения вопроса 3
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
создаете пустой массив А
внутри цикла :
создаете пустой массив Б
вносите в массив Б пары ключ=>значение ваших данных
присваиваете массив Б как новое значение в А
после цикла можете кодировать А в json, получите то что хотели.
Ответ написан
Комментировать
@66demon666
Сетевой админ, АТС-админ
Объявить массив, который будет с результатами, далее цикл
1.запихнуть то, что требуется в массив
2.запихнуть полученный массив в очередную ячейку первого массива (с результатами)

Получается массив с массивами (многомерный)

И кодируем этот массив json_encode
Ответ написан
Комментировать
Compolomus
@Compolomus Куратор тега PHP
Комполом-быдлокодер
На самом деле все проще

$keys = ['title_bl', 'descr_bl', 'img_bl'];

$res = [];

foreach($arr as $value) {
    $res[] = array_combine($keys, $value);
}


Если значения с базы, можно подправить ключи ещё в запросе через алиасы и будет вообще просто
select title as title_bl, descr as descr_bl .... from ....


$res[] = $value;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы