如何在三个列表列中使用PHP解码JSON?

时间:2018-04-25 17:17:16

标签: php css json foreach decode

我是使用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>

1 个答案:

答案 0 :(得分:-1)

您可以使用array_chunk()将数组拆分为三个元素。然后,在<div class="col-md-4">

周围的数组上使用foreach
<?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 ?>

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