Can';t在php上打印数组或子数组

Can';t在php上打印数组或子数组,php,arrays,json,mongodb,bson,Php,Arrays,Json,Mongodb,Bson,我试图打印数组的一个值,但一直出现相同的错误 “警告:字符串偏移量非法” 我不知道为什么我一直有这个错误,这是一个json数组,应该是正确的 先谢谢你 $bson = MongoDB\BSON\fromPHP($entry); $json= MongoDB\BSON\toJSON($bson); var_dump($js); echo $js['nom']; 我想要: nom,nom_相册在同一行 我已经找了其他帖子,但没有找到我的答案,我被困在了$js不是

我试图打印数组的一个值,但一直出现相同的错误 “警告:字符串偏移量非法”

我不知道为什么我一直有这个错误,这是一个json数组,应该是正确的

先谢谢你


    $bson = MongoDB\BSON\fromPHP($entry);
    $json= MongoDB\BSON\toJSON($bson);
    var_dump($js);

    echo $js['nom'];
我想要: nom,nom_相册在同一行

我已经找了其他帖子,但没有找到我的答案,我被困在了$js不是数组上,这就是为什么你有警告的原因

您必须首先将json解码为数组:

$res = json_decode($js, true);
echo $res['nom']; 
$js不是数组,这就是为什么会出现警告的原因

您必须首先将json解码为数组:

$res = json_decode($js, true);
echo $res['nom']; 

不要打断JSON文本,也不要在没有先检查的情况下尝试使用值。此外,您可能希望查看
JSON\u decode
,而不是
JSON\u encode
。但是如果你弄乱了你的引号,那还是不行的。你的JSON肯定是无效的——它有单引号而不是双引号。这是无效的JSON。否则,@Mohammed Yassine CHABLI的答案是正确的。不要破坏JSON文本,也不要在没有先检查值的情况下尝试使用值。此外,您可能希望查看
JSON\u decode
,而不是
JSON\u encode
。但是如果你弄乱了你的引号,那还是不行的。你的JSON肯定是无效的——它有单引号而不是双引号。这是无效的JSON。否则,@Mohammed Yassine CHABLI的答案是正确的$json=MongoDB\BSON\toJSON($BSON);$js=json_encode($json);$res=json_decode($js,true);echo$res['nom'];`我得到:警告:非法字符串偏移量'nom'印加你检查$js的类型吗,echo gettype($js)```$bson=MongoDB\bson\fromPHP($entry)$json=MongoDB\BSON\toJSON($BSON);$js=json_encode($json);$res=json_decode($js,true);echo$res['nom'];`我得到:警告:非法字符串偏移量'nom'印加你检查$js的类型吗,echo gettype($js);