首页 > 解决方案 > 成对显示数组内容

问题描述

我正在尝试制作一个显示所有用户配置文件的网站。我想将每两个用户包装在 a 中<div>,直到没有剩余为止。假设我们在 $info 中有 19 个由 userprofileinfo 组成的数组——下面的代码可以正常工作,但会将第 20 个打印出为空 div,我想防止这种情况发生。在这里做什么?

$info = mysqli_fetch_all($result, MYSQLI_ASSOC);

for ($count = 0; $count <= mysqli_num_rows($result) - 1; $count += 2) {
    echo <div class="row">
    echo "<div>".print_r($info[$count])."</div>";
    echo "<div>".print_r($info[$count+1])."</div>";¨
    echo </div>
}   

标签: phparraysloops

解决方案


我想你可能想多了。为什么不简单地使用array_chunk()

$info = mysqli_fetch_all($result, MYSQLI_ASSOC);

foreach (array_chunk($info, 2) as $chunk) {
    echo '<div class="row">';
    foreach ($chunk as $element) {
        echo "<div>".$element['name']."</div>";
    }
    echo '</div>';
}

工作方式array_chunk()是将数组元素分组为给定大小的块。你可以有一个双循环。内部循环将迭代每个块并显示两个元素。


推荐阅读