PHP json对象
这是我的json文件:PHP json对象,php,json,Php,Json,这是我的json文件: $json='{ "mainmenu": [ { "title": "Main Menu 1", "url": "some url" }, { "title": "Main Menu 2", "url": "some url2" } ], "submenu": { "my submenu 1": [ { "title":
$json='{
"mainmenu": [
{
"title": "Main Menu 1",
"url": "some url"
},
{
"title": "Main Menu 2",
"url": "some url2"
}
],
"submenu": {
"my submenu 1": [
{
"title": "Sub menu title",
"url": "some url"
},
{
"title": "Sub menu title",
"url": "some url"
}
],
"another submenu":[
{
"title": "Sub menu title",
"url": "some url"
},
{
"title": "Sub menu title",
"url": "some url"
},
{
"title": "Sub menu title",
"url": "some url"
}
]
}
}';
我可以通过以下内容找到主菜单的编号:
<?php
$data = json_decode($json);
echo sizeof($data->mainmenu);
使用foreach
迭代$data
数组(使用var\u dump()
查看完整结构)。试试这个
$arr = json_decode($json);
$arr2 = $arr->submenu;
$total_submenu = 0;
foreach($arr2 as $key=>$val)
{
$total_submenu += sizeof($val);
}
echo $total_submenu; // ouput 5 according to your json
这将为您提供子菜单对象的计数:
echo count((array)$data->submenu));
循环浏览子菜单
数组的索引:
foreach(array_keys((array)$data->submenu) as $obj) {
// $obj will be the name of each submenu
}
我更喜欢
$count = count(json_decode($json, true));
解码JSON后,就有了简单的多维数组。只需打印/var\u转储它,看看它是什么样子。然后构建一个循环来检查你想要的任何东西。@user1995781你试过我的吗anwer@SatishSharma我试过你的答案。你的答案是最好的!!非常感谢您的帮助。:)非常感谢你的回答。现在,如何获取子菜单信息?如果直接引用,则为$data->submenu->submenu1[0]->标题代码>。如何动态地进行?我尝试了$data->submenu[“submenu1”][0][“title”]
,但没有成功。