php - foreach 循环跳过 3 个项目中的前 2 个

标签 php mysql sql wordpress algorithm

我想知道你们能否帮我弄清楚为什么这不能正确生成 HTML。变量 $wholeTeam$wpdb->get_results(...) 返回,并确认其长度为 3(因为 echo count($wholeTeam) 吐出那个数字,我直接查看了 MySQL 数据库以确保有 3 行)。由于某种原因,只生成了 3 个中的最后一个;前两个不是。

    <h2>Current members <span class="title-count"> <?php echo count($wholeTeam) ?> </span></h2>
    <div class="row">
        <?php
        $sandwichTop = '<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3"><img src="/assets/';
        $sandwichBottom = '/><button type="button" class="edit-mem-btn wp-core-ui button-primary">Edit</button></div>';
        foreach ($wholeTeam as $thisMember)
            $sandwichMiddle = $thisMember->picfn . '" id="memberid-' . $thisMember->id . '"';
            echo $sandwichTop . $sandwichMiddle . $sandwichBottom;
        ?>
    </div>  

生成为

<div class="row">
    <div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
          <img src="/assets/thepic.png" id="memberid-3"/>
          <button type="button" class="edit-mem-btn wp-core-ui button-primary">Edit</button></div>      
    </div>  
</div>

最佳答案

代码

foreach ($wholeTeam as $thisMember)
    $sandwichMiddle = $thisMember->picfn . '" id="memberid-' . $thisMember->id . '"';
    echo $sandwichTop . $sandwichMiddle . $sandwichBottom;

相当于:

foreach ($wholeTeam as $thisMember) {
    $sandwichMiddle = $thisMember->picfn . '" id="memberid-' . $thisMember->id . '"';
}
echo $sandwichTop . $sandwichMiddle . $sandwichBottom;

这就是为什么你只回显一次。如果你想回显每个 foreach 迭代:

foreach ($wholeTeam as $thisMember) {
    $sandwichMiddle = $thisMember->picfn . '" id="memberid-' . $thisMember->id . '"';
    echo $sandwichTop . $sandwichMiddle . $sandwichBottom;
}

关于php - foreach 循环跳过 3 个项目中的前 2 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31462354/

相关文章:

php - 在 PHP 中使用 javascript

php - 文件管理系统及其保护

php - Google 总是返回错误的验证 ID token

php - 从列表元素运行 php

php - 图像未显示 - PHP

sql - 我可以为 varbinary 的最大大小设置 2 MB 吗?

sql server 2008 - 查找哪些表包含特定文本

php - 使用 Imagick php 扩展将多页 PDF 转换为 JPG 时的黑色背景

sql - 如何在SQL中生成所有可能的数据组合?

mysql - 行从 MySQL 中消失,最大允许大小可能是原因吗?