在php中,循环遍历数组(从api返回)以获得特定的描述

在php中,循环遍历数组(从api返回)以获得特定的描述,php,arrays,api,Php,Arrays,Api,对于我正在做的一个小项目,我从api中获取一些数据。 返回的数据解码如下: 在members下,第一个数字(本例中为65385)是成员id 如果成员状态为ok,我想返回此ID和成员名称。 我可以返回成员名称,但不确定如何获取ID "members": { "65385": { "name": "phpnewb", "days_active": 705,

对于我正在做的一个小项目,我从api中获取一些数据。 返回的数据解码如下: 在members下,第一个数字(本例中为65385)是成员id

如果成员状态为ok,我想返回此ID和成员名称。 我可以返回成员名称,但不确定如何获取ID

"members": {
    "65385": {
        "name": "phpnewb",
        "days_active": 705,
        "last_action": {
            "status": "active",
            "timestamp": "",
            "relative": "51 minutes ago"
        },
        "status": {
            "description": "Okay",
            "details": "",
            "state": "Okay",
            "color": "green",
            "until": 0
        },
现在我想要的是: 如果在status->Description下显示“OK”,我想返回成员id和成员名称 在本例中,它的id:65385&name:phpnewb

现在我试着这样做(名称部分)(使用$idcall\u数组读取解码数据):

我估计数组(5)是我需要的整数/数字,但不知道如何提取它。

foreach($idcall\u数组['members']as$id=>$member){
foreach ($idcall_array['members'] as $id => $member) {
    if ($member['status']['description'] == "Okay") {
        $name = $member['name'];
        echo $name;
        echo "</br>";
    }
}
如果($member['status']['description']==“OK”){ $name=$member['name']; echo$name; 回声“
”; } }
foreach($id调用数组['members']作为$id=>$member){
如果($member['status']['description']==“OK”){
$name=$member['name'];
echo$name;
回声“
”; } }
在您的情况下,您需要获取成员id的密钥:

foreach ($idcall_array['members'] as $id => $member) {
    echo $id . ' : ' . $member['name'] . '<br>';
}
foreach($idcall\u数组['members']作为$id=>$member){
echo$id.':'.$member['name'].
; }

注意:在HTML5中,正确的换行标记是

您需要捕获成员id的键:

foreach ($idcall_array['members'] as $id => $member) {
    echo $id . ' : ' . $member['name'] . '<br>';
}
foreach($idcall\u数组['members']作为$id=>$member){
echo$id.':'.$member['name'].
; }

注意:在HTML5中,一个正确的换行标记是

您需要捕获foreach的键:
foreach($id=>$member)['members']作为$id=>$member){
谢谢,这就解决了问题,如果您将其作为答案,我会将其标记为正确答案!您需要捕获foreach的键:
foreach($idcall\u数组){['members']as$id=>$member){
谢谢,问题解决了,如果你把它作为答案,我会把它标记为正确答案!我会等一个小时,看看syscall是否会发布同样的答案(因为他已经在评论中回答了)如果没有,我将接受你的回答:)当然@Phpnewb,让我们给他第一优先权。我将等一个小时,看看syscall是否会发布相同的答案(因为他已经在评论中回答了)。如果没有,我将接受你的回答:)当然@Phpnewb,让我们给他第一优先权
foreach ($idcall_array['members'] as $id => $member) {
    echo $id . ' : ' . $member['name'] . '<br>';
}