foreach循环导致无效json


invalid json resulted by foreach loop

表示我想获取某个值并将其存储到arr中以生成json:

foreach($item as $items){
   $items = $someting->name;
$arr = array(
   'itemName'=>$items
);
    echo json_encode($arr);
};

结果

{'itemName':'shoe}{'itemName':'toy}{'itemName':'ball}

后面缺少分号…

在大多数情况下,应该只调用一次json_encode。继续在php数组中添加所有想要转换为JSON的内容,然后调用json_encode

$json = array('items' => array());
foreach ($items as $item) {
    $json['items'][] = array(
       'itemName' => $item->name
    );
};
echo json_encode($json);

你也可以调用json_encode为你所有的$items数组而不做循环

json_encode($items)