循环PHP嵌套数组-将值提取到刀片视图(Laravel)
我知道在这个话题上有很多问题,但没有一个能完全解决这个问题(据我所知) 我在Laravel项目中有一个PHP数组(仅供参考,通过Guzzle响应返回) PHP数组循环PHP嵌套数组-将值提取到刀片视图(Laravel),php,arrays,laravel,blade,guzzle,Php,Arrays,Laravel,Blade,Guzzle,我知道在这个话题上有很多问题,但没有一个能完全解决这个问题(据我所知) 我在Laravel项目中有一个PHP数组(仅供参考,通过Guzzle响应返回) PHP数组 $users = array(2) { ["error"]=> bool(false) ["spirits"]=> array(2) { [0]=> array(2) { ["id"]=> string(1) "1" ["name"]=>
$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”键,以便在视图中使用,但我有点不知所措。我试过下面的建议,但不能完全解决
我还研究了数组\u walk\u递归
任何帮助都将是令人敬畏和感激的!我希望能够像这样在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
}
如果您的用户总是存储在
$users
变量的@sprits
-键中,您只需修改@foreach
-循环,如下所示:
@foreach ($users['spirits'] as $user)
{{ $user['id'] }}
{{ $user['name'] }}
@endforeach
否则,您可以编辑控制器的返回值。这意味着您可以简单地更改行:
returnview::make('users')->with('users',$users)代码>
到
returnview::make('users')->with('users',$users['spirits')代码>
在这种情况下,您无法访问错误
-键。谢谢!缺少的第一部分是$users['spirits']