Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的JSON字符串循环_Php - Fatal编程技术网

php中的JSON字符串循环

php中的JSON字符串循环,php,Php,我使用GROUP\u CONCAT(返回字符串)从MySQL查询中得到一个json字符串 下面是JSON字符串作为字段公文包: [ {name:"Branch GBD_1.pdf", img_path:"1333752771.pdf"}, {name:"Doc.pdf", img_path:"2020107119.pdf"}, {name:"COK.pdf", img_path:"264860069.pdf"} ] 现在在php中,我试图解码字段并循环遍历它,但我不能 foreac

我使用
GROUP\u CONCAT
(返回字符串)从MySQL查询中得到一个json字符串

下面是JSON字符串作为字段
公文包

[
  {name:"Branch GBD_1.pdf", img_path:"1333752771.pdf"},
  {name:"Doc.pdf", img_path:"2020107119.pdf"},
  {name:"COK.pdf", img_path:"264860069.pdf"}
]
现在在php中,我试图解码字段并循环遍历它,但我不能

foreach($records as $r)
{
    $varArray = json_decode($r['portfolios'], true);
    foreach($varArray as $que)
    {
        echo $que['name'].' '.$que['img_path'];
        echo '<br/>';
    }           
}
foreach($r记录)
{
$varArray=json_decode($r['portfolions'],true);
foreach($varArray作为$que)
{
echo$que['name'].'.$que['img_path'];
回声“
”; } }

如何将变量断开或转换为可循环对象?

$varArray
不是数组,因为您的json字符串不是有效的json。这些键需要用双引号括起来

[
  {"name":"Branch GBD_1.pdf", "img_path":"1333752771.pdf"},
  {"name":"Doc.pdf", "img_path":"2020107119.pdf"},
  {"name":"COK.pdf", "img_path":"264860069.pdf"}
]

谢谢。。。成功了。有些资料把我和引文搞混了。。