【问题标题】:How to decode JSON using PHP in three listing columns?如何在三个列表列中使用 PHP 解码 JSON?
【发布时间】:2026-01-24 21:35:01
【问题描述】:

我是使用 JSON 和 PHP 的新手。 我有一个很大的 JSON 产品列表,这些产品正在通过 PHP 解码,我需要将此列表拆分为 3 列。我怎样才能做到这一点? 这是我现在使用的代码:

<div class="col-md-4">
    <div class="section-title">
        <ul class="dados">
            <?php
                $url = 'http://myurl/consult';
                $data = file_get_contents($url);
                $characters = json_decode($data);
                foreach ($characters as $character) {
            ?>
            <li class="nomes-ies"><a href="#" class="nomes-ies"><?php echo $character->nome . '</a></li>'; } ?>
        </ul>
    </div>
</div>

【问题讨论】:

  • 那么,你想要 3 个&lt;div class="col-md-4"&gt;,对吧?
  • 您可能希望显示$character-&gt;nome 的输出以及您想要的内容。这个单项输出3个数组吗?

标签: php css json foreach decode


【解决方案1】:

您可以使用array_chunk() 将您的数组拆分为三个元素。然后,在该数组上使用 foreach,在 &lt;div class="col-md-4"&gt; 周围:

<?php
    $url = 'http://myurl/consult';
    $data = file_get_contents($url);
    $characters = json_decode($data);
    $cols = array_chunk($characters, ceil(count($characters) / 3));
    foreach ($cols as $data) {
?>
<div class="col-md-4">
    <div class="section-title">
        <ul class="dados">
            <?php foreach ($data as $character) { ?>
            <li class="nomes-ies"><a href="#" class="nomes-ies"><?php echo $character->nome ?></a></li>
            <?php } ?>
        </ul>
    </div>
</div>
<?php } // end foreach $cols ?>

请注意,array_chunk() 中使用的元素数量必须使用ceil() 计算,以避免获得 4 列。最后一列的元素可能比另一列少。

【讨论】:

  • 谢谢@Syscall,这很有帮助。