我正在创建一个数组,其中有几个参数括在for循环中,如下所示:
for ($x = 1; $x <= 2; $x++) {
$jsonarray=array(
'id' => $x,
'title' => $title,
'url' => $url,
);
echo json_encode($jsonarray, JSON_UNESCAPED_SLASHES);
}
上面的代码将创建5个数组,并按照以下内容将它们编码为JSON:
{
"id":1,
"title":"Test Title",
"url":"http://test.com/"
}{
"id":2,
"title":"Test Title 2",
"url":"http://test2.com",
}
上面的JSON输出不是有效的JSON,因为需要将对象与数组[]分开。我怎样才能做到这一点?
答案 0 :(得分:0)
在循环之后对数组进行编码,并将值添加到数组中,例如
for ($x = 1; $x <= 2; $x++) {
$jsonarray[] = array(
'id' => $x,
'title' => $title,
'url' => $url,
);
}
echo json_encode($jsonarray, JSON_UNESCAPED_SLASHES);
答案 1 :(得分:0)
在尝试将其转换为JSON字符串之前,您应该构建完整的数组。不是你在做,而是单独输出每一次出现。
所以这样做
$0 // first element
$1 // second element
$0.0 // value of first element
$0.1 // frequency of first element
答案 2 :(得分:-1)
改为创建一个数组
for ($x = 1; $x <= 2; $x++) {
$jsonarray[] = array(
'id' => $x,
'title' => $title,
'url' => $url,
);
}
echo json_encode($jsonarray, JSON_UNESCAPED_SLASHES);