首页 > 解决方案 > PHP错误 - 响应子数组上的未定义索引

问题描述

所以我试图处理一个 api 响应,但我似乎无法绕过这个错误。是的,我知道这是一个半骗子,但我找不到解决方案。

<?php
$json = '{
    "message-count": "1",
    "messages": [{
        "to": "123",
        "message-id": "1234",
        "status": "0",
        "remaining-balance": "1",
        "message-price": "0.03",
        "network": "21901"
    }]
}';
$json_decoded = json_decode($json, TRUE);
echo $json_decoded['messages']['status'];

?>

我得到的错误:E_NOTICE : type 8 -- Undefined index: status -- at line 14

希望some1可以回答而不是删除它...

标签: phpjson

解决方案


这是因为您的 JSON 指示messages是一个数组(使用方括号声明[]),这意味着您必须告诉它您要从数组的哪个元素中获取状态:

echo $json_decoded['messages'][0]['status'];

推荐阅读