我知道已经存在这样的问题了,但这对我没有帮助。
我的网站上出现以下错误:
警告:非法字符串偏移'networkConnections' 第25行的/var/www/bitmsg/templates/header.php {
这条线是
<?= $bmstatus["networkConnections"] ?> p2p nodes
如果我print_r
$ bmstatus
,那么我得到:
{
"numberOfBroadcastsProcessed": 2308,
"networkStatus": "connectedAndReceivingIncomingConnections",
"softwareName": "PyBitmessage",
"softwareVersion": "0.4.1",
"networkConnections": 52,
"numberOfMessagesProcessed": 22888,
"numberOfPubkeysProcessed": 8115
}
如何从此阵列中获取信息?
我已经尝试了$bmstatus['networkConnections']
和$bmstatus->networkConnections
但两者都回归了那个错误?
答案 0 :(得分:12)
$bmstatus
包含JSON字符串。您必须首先解码它才能从中提取所需的信息。为此,您可以使用内置函数json_decode()
(第二个参数设置为TRUE
来获取关联数组,而不是对象):
$json = json_decode($bmstatus, true);
echo $json['networkConnections'];
答案 1 :(得分:7)
这是一个json字符串。您需要使用json_decode使用第二个参数true
解码您的json响应,以获取关联数组。
$bmstatusArray = json_decode($bmstatus,true);
echo $bmstatusArray["networkConnections"];