我从json文件中提取信息
json raw
{
"channels": [
{
"position": 2,
"id": "411322093804978180",
"name": "Home"
},
{
"position": 0,
"id": "411324510143381505",
"name": "Lobby"
}
],
"members": [
{
"username": "John",
"channel_id": "411324510143381505",
"id": "408129022657036454"
},
{
"username": "Ted",
"id": "320056690290458665"
}
],
"name": "Home Server"
}
我能够显示要显示的频道名称,但如果用户不在频道中,那么如果您查看json的成员部分,则他们没有频道ID。但是如果它们在一个频道中它将channel_id添加到json的成员部分,id与频道id匹配,所以我试图通过这样做来显示在频道内有channel_id的用户,如果频道id等于用户频道id < / p>
以下但未将用户添加到频道
foreach($result['channels'] as $item){
echo '<div class="channel">
<div class="channel-name">'.$item['name'].'</div>';
if ($result['channels']['id'] == $result['members']['channel_id']){
echo $result['members']['username'];
} else {
echo '';
}
echo '</div>';
}
答案 0 :(得分:1)
如果您想继续您的开始方式,您必须为每个频道检查每个用户:
foreach($result['channels'] as $item){
echo '<div class="channel">
<div class="channel-name">'.$item['name'].'</div>';
foreach($result['members'] as $member){
if(isset($member['channel_id']) && !strcmp($member['channel_id'], $item['id'])) {
echo $member['username'];
}
}
echo '</div>';
}
这是你想要的吗?
Doc:
http://php.net/manual/fr/function.strcmp.php
http://php.net/manual/fr/function.isset.php