Looping PHP Nested Arrays – Извлечение значений в Blade Views (Laravel)

Я знаю, что на эту тему много вопросов, но никто не справляется с этим (насколько я мог видеть).

У меня есть массив PHP (который FYI, возвращается через ответ Guzzle) в проекте Laravel.

Массив PHP

$users = array(2) { ["error"]=> bool(false) ["spirits"]=> array(2) { [0]=> array(2) { ["id"]=> string(1) "1" ["name"]=> string(5) "Foo" } [1]=> array(2) { ["id"]=> string(1) "2" ["name"]=> string(3) "Bar" } } } 

Я просто хочу извлечь ключи «id» и «name» ниже, чтобы использовать их в представлении, но я немного в тупике. Я пробовал приведенные ниже предложения, но не могу это решить.

Как сгладить многомерный массив?

PHP foreach с вложенным массивом?

Я также посмотрел на array_walk_recursive .

Любая помощь будет потрясающей и оцененной! Я хочу иметь возможность использовать эти два ключа в Laravel так:

контроллер

 return View::make('users')->with('users',$users); 

Посмотреть

  @foreach ($users as $key => $user) {{ $user["id"] }} {{ $user["name"] }} @endforeach 

Вы можете попробовать следующее:

 @foreach ($users['spirits'] as $user) {{ $user["id"] }} {{ $user["name"] }} @endforeach 

Лучше проверить возвращаемый результат в вашем контроллере, прежде чем отправить его в представление, используя что-то вроде этого, чтобы в вашем представлении не было ошибок:

 $users = 'Get it from somewhere...'; if(!$users['error']) { return View::make('users')->with('users', $users); } else { // Show an error with a different view } 

в случае, если ваши пользователи всегда хранятся в @foreach переменной ваших переменных $users вы просто можете изменить свой @foreach -loop следующим образом:

 @foreach ($users['spirits'] as $user) {{ $user['id'] }} {{ $user['name'] }} @endforeach 

В противном случае вы можете отредактировать возвращаемое значение с контроллера. Это означает, что вы просто можете изменить строку:

return View::make('users')->with('users',$users);

в

return View::make('users')->with('users',$users['spirits']);

В этом случае у вас нет доступа к вашей error .