我是新手。
我有一个包含名称和URL的JSON文件。我要做的就是从JSON对象中随机选择11个项目,并将其显示为HTML。
我可以解析并随机转储JSON的内容,但是我不知道该怎么做。我正在考虑使用foreach来打印html,但我不知道如何从JSON对象中获取项目。
这是我脑海中的项目;
<div class="custom-top-tags">
<div class="sm-top-tags-title">Öne Çıkanlar:</div>
<div class="sm-top-tags-keywords">
<ul class="sm-top-tags-keywords-list">
<?php foreach($array as $key=>$value){ ?>
<li><a href="<?php echo $key[link]; ?>"><?php echo $key[urun]; ?></a></li>
<?php } ?>
</ul>
</div>
</div>
但是不幸的是,我不知道如何通过从JSON文件中随机选择的11个项目来填充$key[link]
和$key[name]
变量。
这是我当前拥有的代码;
$json = file_get_contents('./includes/one-cikanlar.json');
$json_data = json_decode($json,true);
shuffle($json_data);
echo $json_data;
这是JSON结构;
{
"urunler": [
{
"urun":"Matkap",
"link":"makina-grubu?keyword=Matkap"
},
{
"urun":"İş Eldivenleri",
"link":"eldiven-grubu"
},
{
"urun":"Mikser & Karıştırıcı",
"link":"shop?keyword=Karıştırıcı"
},
{
"urun":"Silikon",
"link":"shop?keyword=Silikon"
},
{
"urun":"Tangitt",
"link":"shop?keyword=Tangit"
},
{
"urun":"Lokma Takımı",
"link":"shop?keyword=Lokma+Takımı"
},
...
]
}
总而言之,我需要从JSON中的urunler
对象中随机选择11个项目,并将这些选择的项目打印到HTML中。
我正在等待您的建议和帮助。预先感谢
答案 0 :(得分:2)
包含项的数组位于$json_data['urunler'];
中,而不是$json_data
中,因此您可以将其改组并使用例如for循环来获取11个项。
<?php
$json_data = json_decode($json, true);
shuffle($json_data['urunler']);
?>
<div class="custom-top-tags">
<div class="sm-top-tags-title">Öne Çıkanlar:</div>
<div class="sm-top-tags-keywords">
<ul class="sm-top-tags-keywords-list">
<?php for ($i = 0; $i < 11; $i++) { ?>
<li><a href="<?php echo $json_data['urunler'][$i]['link']; ?>"><?php echo $json_data['urunler'][$i]['urun']; ?></a></li>
<?php } ?>
</ul>
</div>
</div>