pr-Legolasov
@pr-Legolasov

Несколько массивов вместо одного?

Добрый день всем!
Столкнулся со сложностью, пытаюсь добавить в существующий массив объект, содержащий несколько массивов, но выходит, что они объединяются в один.
$resultcart =   DB::Query("SELECT * FROM buy WHERE number = '222'",$link);
     while($rowcart =  mysqli_fetch_array($resultcart))
        { 
          $description1[] = array(['good_uuid' => $rowcart["idprod"],
          'good_name' => $rowcart["name"], 
          'quantity' => $rowcart["quantity"],
          'price' => $rowcart["price"],
          'tag1214' => 4]);
          }

- из этого необходимо создать объект содержащий несколько массивов
$json[] = array(
         'uuid' => date('YmdHis'),          
                 'goods' =>  $description1 
     );

- действующий массив в который необходимо вставить полученные массивы
В результате после преодразования в json этой строкой
$json = json_encode($json, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_NUMERIC_CHECK);

я получаю следующее:
[{"uuid":"20190922163205","goods":[[{"good_uuid":2,"good_name":"Конверт на выписку","quantity":1,"price":1,"tag1214":4}],[{"good_uuid":1,"good_name":"Звездная ночь на шампани","quantity":1,"price":1,"tag1214":4}]]}]
,
но мне необходимо получить строку такого вида:
[{"uuid":"20190922163205","goods":[{"good_uuid":2,"good_name":"Конверт на выписку","quantity":1,"price":1,"tag1214":4}],[{"good_uuid":1,"good_name":"Звездная ночь на шампани","quantity":1,"price":1,"tag1214":4}]}]

Какимо образом можно это сделать?
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
$description1[] = array([..................])
Обратите внимание сколько раз тут объявлен массив в массиве.
array([]) - это аналогично [[]] или array(array())
PS: Для того, чтобы не путаться впредь, перестаньте использовать один из способов.
Либо array() если у вас php 5.6-
либо [] если php 5.6+ (это предпочтительней - стильно, модно молодежно, похож на JS)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы