Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 4:对象阵列上的交互_Php_Arrays_Json_Laravel 4 - Fatal编程技术网

Php Laravel 4:对象阵列上的交互

Php Laravel 4:对象阵列上的交互,php,arrays,json,laravel-4,Php,Arrays,Json,Laravel 4,我正在慢慢学习Laravel/PHP,正在为一个基本的CMS构建一个菜单系统。我已经将菜单作为json存储在数据库中。这样我就可以将其用于其他应用程序等 我现在尝试解码json并循环它以显示我的菜单。新数组是一个对象数组。我的问题是: •如何遍历此数组?当我尝试获取$item->id时,它工作正常。然而,当我尝试获取$item->title时,我得到了一个ErrorException 我相信这很简单。我快发疯了!谢谢你花时间看 控制器 用foreach查看 json_解码后的对象 ) 再次感谢-

我正在慢慢学习Laravel/PHP,正在为一个基本的CMS构建一个菜单系统。我已经将菜单作为json存储在数据库中。这样我就可以将其用于其他应用程序等

我现在尝试解码json并循环它以显示我的菜单。新数组是一个对象数组。我的问题是:

•如何遍历此数组?当我尝试获取$item->id时,它工作正常。然而,当我尝试获取$item->title时,我得到了一个ErrorException

我相信这很简单。我快发疯了!谢谢你花时间看

控制器 用foreach查看 json_解码后的对象 )


再次感谢-我希望有人能发现我的错误。

您的json数据只有第一项的标题。其他menuitems的标题未定义,因此当您尝试访问foreach循环中的未定义标题时,可能会收到未定义属性警告

您可以检查循环中是否有标题

@foreach( $menuitems as $item)
    <h4>{{{ isset($item->title) ? $item->title : 'Default Title' }}}</h4>
@endforeach
@foreach($menuitems作为$item)
{{{isset($item->title)?$item->title:'Default title'}}
@endforeach

或者,您必须确保数据集中的每个菜单项(json)都有一个title属性。

ahhh。传奇我开始认为这与数据无效有关。非常感谢,丹。你真的帮了大忙。
    @foreach( $menuitems as $item)
    <h4>{{ $item->title }}</h4>
@endforeach
[{"title":"Title","link":"/test.html","id":"1","children":[{"title":"Title","link":"/test.html","id":"2","children":[{"title":"Title","link":"/test.html","id":"3"}]}]},{"id":"4"},{"id":"5","children":[{"id":"6","children":[{"id":"7"}]}]},{"id":"8"},{"id":"9"}]
Array ( [0] => stdClass Object (
                        [title] => Title
                        [link] => /test.html
                        [id] => 1
                        [children] => Array ( [0] => stdClass Object (
                                                                        [title] => Title
                                                                        [link] => /test.html
                                                                        [id] => 2 [children] => Array (
                                                                                                    [0] => stdClass Object (
                                                                                                    [title] => Title
                                                                                                    [link] => /test.html
                                                                                                    [id] => 3
                                                                                                    )
                                                                                                )
                                                                    )
                                            )
                        )

[1] => stdClass Object (
                        [id] => 4
                        )

[2] => stdClass Object (
                        [id] => 5
                        [children] => Array ( [0] => stdClass Object (
                                                                        [id] => 6
                                                                        [children] => Array (
                                                                                            [0] => stdClass Object (
                                                                                            [id] => 7
                                                                                            )
                                                                                        )
                                                                    )
                                            )
                        )

[3] => stdClass Object (
                        [id] => 8
                        )

[4] => stdClass Object (
                        [id] => 9 
                        )
@foreach( $menuitems as $item)
    <h4>{{{ isset($item->title) ? $item->title : 'Default Title' }}}</h4>
@endforeach