2013-10-06 3 views
2

Я пытаюсь создать многомерный объект StdClass, но вывод всегда из последнего цикла первого и второго циклов foreach, а не из набора всех циклов.Создайте многомерный массив объектов StdClass с foreach

Каждый день в нем должно быть 3 $ упражнения. И есть 5 дней, но только 1 день с 1 упражнением.

Функция & выходной ток: http://paste.laravel.com/WIU

ответ

4

Похоже, что происходит в том, что вы перезаписать атрибут вашего data объекта days каждый раз, когда вы цикл. Вместо stdClass, $data->days должен быть массивом, а затем вы должны добавить stdClass объектов описывающими каждый день, чтобы этот массив ... что-то вроде этого (используя часть вашего кода со всего строками 14):

$data->days = array(); //create the array 
foreach ($jsonDays as $day) 
     { 
      $newDay = new stdClass(); //create a day object 
      $newDay = $day->day; //add things to the day object 
      ... 
      $data->days[] = $newDay; //push the day object onto your day array. 

такой же подход также будет работать для добавления нескольких упражнений в каждый день.

Смежные вопросы