как создать массив, подобный примеру, в laravel

#php #laravel

#php #laravel

Вопрос:

Я должен отправить некоторые параметры с api в формате json, и есть пример для одного из параметров, как показано ниже:

 [
 [
   {"PassengerAge":20,"Gender":false}
 ]
]
  

Теперь я создаю json, но как я могу поместить его в два массива ( [[]] ), которые будут похожи на up?

 $rooms = json_encode(["PassengerAge"=>20,"Gender"=>false]);
  

Теперь $rooms экспорт:

 {"PassengerAge":20,"Gender":false}
  

итак, как я могу преобразовать $rooms в пример в laravel?

Комментарии:

1. попробуйте использовать $rooms->toArray()

2. @AnkitJindal как вы можете вызвать метод в строке?

3. Согласно вашему коду, он отображается как объект {"PassengerAge":20,"Gender":false}

4. @AnkitJindal json_encode возвращает строку, именно так строка выглядит при ее выводе

Ответ №1:

Чтобы получить вывод, подобный приведенному выше примеру, вы можете обернуть это json в любое количество массивов, сколько захотите:

 $rooms = json_encode([[["PassengerAge"=>20,"Gender"=>false]]]);
  

Это даст следующий результат:

 "[[{"PassengerAge":20,"Gender":false}]]"
  

Когда вы декодируете это:

 json_decode($rooms)
  

Вы получаете следующую структуру:

   [
     [
       {#4768
          "PassengerAge": 20,
          "Gender": false,
       },
     ],
   ]
  

Тестировал это в tinker