我正在尝试使用正确的格式创建一个JSON文件,供Lazy Loader通过PHP使用。我将内容放在一个关联数组中,并将其放在另一个多维数组中。
以下是我正在使用的代码:
<?php
//I will fetch this content from the database later. This is just for example.
$posts = array("<div>Item 1</div>", "<div>Item 2</div>", "<div>Item 3</div>");
$items = array();
$length = count($posts);
for($i = 0; $i < $length; $i++){
$items["html"] = $posts[$i];
}
$posts_datas = array("items" => array($items));
/* JSON file */
file_put_contents('lazyloader/datas.json', json_encode($posts_datas, JSON_PRETTY_PRINT));
?>
创建文件并且只有一个元素具有正确的格式。我需要他们。
JSON文件代码:
{
"items": [
{"html": "<div>Item 3<\/div>"}
]
}
我想要的代码:
{
"items": [
{"html": "<div>Item 1<\/div>"},
{"html": "<div>Item 2<\/div>"},
{"html": "<div>Item 3<\/div>"}
]
}
我需要你的帮助。有人有解决方案吗?谢谢。
答案 0 :(得分:1)
一旦我更好地理解了这个问题,就可以修改。
假设通过查询从您的数据库中收集$posts
,这将达到您想要的效果。
//I will fetch this content from the database later. This is just for example.
$posts = array("<div>Item 1</div>", "<div>Item 2</div>", "<div>Item 3</div>");
$items = array();
foreach ( $posts as $post){
$items['items'][] = ['html' => $post];
}
// now rewrite the file with the new content added
file_put_contents('datas.json', json_encode($items, JSON_PRETTY_PRINT));
结果将是
{
"items": [
{
"html": "<div>Item 1<\/div>"
},
{
"html": "<div>Item 2<\/div>"
},
{
"html": "<div>Item 3<\/div>"
}
]
}