因此,我正在尝试处理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可以回答但不能将其删除...
答案 0 :(得分:2)
这是因为您的JSON表示messages
是一个数组(使用方括号[]
声明),这意味着您必须告诉它要从中获取状态的数组的哪个元素:
echo $json_decoded['messages'][0]['status'];
答案 1 :(得分:0)
注意数组!首先,您必须表示数组的索引,然后设置数组的值。因此,您的代码是错误的。
更正最后一行:
$json_decoded['messages'][0]['status']
输出:
0
答案 2 :(得分:0)
Zed。是的,就像别人说的那样。 message
是一个数组。检出print_r
中的$json_decoded
:
在此处检查此工作提琴:http://sandbox.onlinephpfunctions.com/code/3188db556f9b743ffbc9ad138253a5901d2c48c3