PHP:非法字符串偏移

时间:2013-11-28 12:55:53

标签: php

我知道已经存在这样的问题了,但这对我没有帮助。

我的网站上出现以下错误:

  

警告:非法字符串偏移'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 但两者都回归了那个错误?

2 个答案:

答案 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"];