PHP从Json中选择数据
我的JSON数据PHP从Json中选择数据,php,arrays,json,Php,Arrays,Json,我的JSON数据 { "users": [ { "userid": 1, "username": "Admin", "usermail": "admin@admin.com", "authority": [ { "authorityid": 1
{
"users": [
{
"userid": 1,
"username": "Admin",
"usermail": "admin@admin.com",
"authority": [
{
"authorityid": 1,
"authoritytext": "Admin",
"mission": [
{
"permission": "add"
},
{
"permission": "delete"
},
{
"permission": "move"
}
]
},
{
"authorityid": 1,
"authoritytext": "Super Admin",
"mission": [
{
"permission": "no add"
},
{
"permission": "no delete"
},
{
"permission": "only moderate"
}
]
}
]
}
]
}
我的PHP
foreach($result->users as $ok) {
foreach($ok->authority as $okey) {
foreach($okey->mission as $okeyokey) {
$test = $okeyokey->permission;
echo $test;
}
}
}
怎么做这个?
我要显示仅解析json的权限{0}->misson{0}显示“权限”“添加”请帮助我。
可能看截图>>>>>
我需要过滤器{0}{1}{2},然后选择0->showparsejson
您正在混淆对象和数组
foreach($result->users as $currentUser){
$auths = $currentUser->authority;
foreach($auths as $currentAuth){
foreach($currentAuth->mission as $permission){
foreach($permission as $positionLabel => $permissionValue){
if($permissionValue == "add"){
// code here
}
}
}
}
}
确保你使用的是好标签。虚拟占位符可以很好,但它使跟踪bug变得非常困难。我假设您想检查他们是否拥有使用数据库、使用PDO的权限
// array
$arr = ["this", "is", "an", "array"];
echo $arr[0] // prints out the word this.
$json = { "attribute": "value"}
echo $json->attribute // prints out the word value.
在JSON对象中可以有数组,在数组中可以有JSON对象。您访问它们的方式不同。这就是您想要的吗
<?php
$jsonData = '{
"users": [
{
"userid": 1,
"username": "Admin",
"usermail": "admin@admin.com",
"authority": [
{
"authorityid": 1,
"authoritytext": "Admin",
"mission": [
{
"permission": "add"
},
{
"permission": "delete"
},
{
"permission": "move"
}
]
},
{
"authorityid": 1,
"authoritytext": "Super Admin",
"mission": [
{
"permission": "no add"
},
{
"permission": "no delete"
},
{
"permission": "only moderate"
}
]
}
]
}
]
}';
$data = json_decode($jsonData);
echo($data->users[0]->authority[0]->mission[0]->permission);
你好!请不要在问题中添加不相关的标签。我看不出你的问题与MySQL或curl有任何关系。事实上,它甚至与JSON解析无关,因为您询问的是对象的转换(您以前可能从解析JSON中获得,但这不是您的问题的一部分)。我们假设您是否了解JSON\u decode()
,谢谢。权限==='add'>>>not==='add'>>not static update json此操作不起作用。如果你愿意,你可以试试。仅供参考。太多的foreach
循环。你可以简单地在两个循环中完成这项工作,如果OP只想要直接文本add
,甚至不需要循环。这项工作很有效,我不确定他们是只想要那一个,还是在我发表那篇文章的时候。