Can';t在php上打印数组或子数组
我试图打印数组的一个值,但一直出现相同的错误 “警告:字符串偏移量非法” 我不知道为什么我一直有这个错误,这是一个json数组,应该是正确的 先谢谢你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不是
$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);