Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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中随机解析11项并以HTML显示_Php_Arrays_Json - Fatal编程技术网

Php 从JSON中随机解析11项并以HTML显示

Php 从JSON中随机解析11项并以HTML显示,php,arrays,json,Php,Arrays,Json,我是个新手 我有一个包含名称和URL的JSON文件。我所要做的就是从JSON对象中随机选择11项,并以HTML格式显示它们 我可以解析并随机转储JSON的内容,但我不知道还要做什么。我正在考虑使用foreach来打印html,但我不知道如何从JSON对象中获取项目 这就是我心中的计划 <div class="custom-top-tags"> <div class="sm-top-tags-title">Öne Çıkanlar:</div> <div

我是个新手

我有一个包含名称和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结构

 {
   "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中


我在等待你的建议和帮助。提前感谢

带有项目的数组位于
$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>

Öneıkanlar:

包含项的数组位于
$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>

Öneıkanlar:

@Thefourthbird我想他只是展示了他的
JSON
data的一个样本是的,我只是展示了一个JSON的样本,对象中至少有33项。我不想把它们都写下来here@user9741470我错过了json中的
。链接应该是随机的、唯一的还是仅随机的,并且可以存在重复的链接?它们必须是唯一的
@Thefourthbird我想他只是展示了他的
JSON
datayes我只是展示了一个JSON样本,对象中至少有33项。我不想把它们都写下来here@user9741470我错过了json中的
。链接应该是随机且唯一的,还是仅随机且存在重复的链接?它们必须是唯一的
,我认为我们可以从这里开始。但当前代码不运行。这是输出:Öneıkanlar:@orko我添加了一个演示。Wat不运行吗?你有错误吗?它只是打印标题“Öneıkanlar”,没有其他内容。没有错误或任何东西,但这只是我得到的输出:Öneıkanlar:请参阅我之前对重复项的评论。这也是在最后一个演示中,你就是那个人。非常感谢你的帮助。作为一个新手,这对我理解和改进我的思维方式有很大的帮助。我想我们可以从这里开始。但当前代码不运行。这是输出:Öneıkanlar:@orko我添加了一个演示。Wat不运行吗?你有错误吗?它只是打印标题“Öneıkanlar”,没有其他内容。没有错误或任何东西,但这只是我得到的输出:Öneıkanlar:请参阅我之前对重复项的评论。这也是在最后一个演示中,你就是那个人。非常感谢你的帮助。这对我作为一个新手理解和改进我的思维方式有很大帮助。