【问题标题】:Hello with a for loop with a nested foreach你好,带有嵌套 foreach 的 for 循环
【发布时间】:2011-07-28 19:48:29
【问题描述】:

我有以下php,

 <ul>
<?php $count = count($products); ?>
            <?php for($i=0; $i < $count; $i++ ): ?>
            <li>
                <?php foreach ($products as $k => $v) : ?>
                    <div>
                        <a href="">
                            <img src="<?php echo base_url(); ?>media/images/products/<?php echo $v['product_image_small']; ?>" alt="<?php echo $v['product_title']; ?>" rel="<?php echo $v['product_id']; ?>"/>
                        </a>
                    </div>
                <?php endforeach; ?>
           </li>
            <?php endfor; ?>
        </ul>

我想要实现的是创建一个嵌套最多 6 个divs 的li,一旦有 6 个divs 我想创建一个新的li。上面的代码目前正在创建以下,

<li>  
<div></div>  
<div></div>  
<div></div>  
<div></div>  
</li>

...但是由于 products 数组的大小,我的 li 中应该只有 2 个 divs。

【问题讨论】:

  • 你试过检查 $count 的值吗? '回声 $count'?

标签: php for-loop foreach foreach-loop-container


【解决方案1】:

您循环 2 x 2 次,而不是 2 次,因为两个循环都是嵌套的。仅使用 forforeach

回答你真正的问题:像...这样的东西怎么样

echo "<li>";
for ($i = 0; $i < $count; $i++)
{
   // ...

   if ($i % 6 == 5)
     echo "</li><li>";    
}
echo "</li>";

【讨论】:

  • 请注意,这只是一个代码示例。您仍然需要测试边缘情况(0、5、6)并查看空的&lt;li&gt;&lt;/li&gt; 是否可以。
【解决方案2】:

我刚刚编辑了你的台词:

 <ul>
<?php $count = count($products); ?>
            <?php for($i=0; $i < $count; $i++ ): ?>
            <li>
                <?php foreach ($products as $k => $v) : ?>
                    <?php if($i % 4 == 0) echo '</li><li>'; ?>
                    <div>
                        <a href="">
                            <img src="<?php echo base_url(); ?>media/images/products/<?php echo $v['product_image_small']; ?>" alt="<?php echo $v['product_title']; ?>" rel="<?php echo $v['product_id']; ?>"/>
                        </a>
                    </div>
                <?php endforeach; ?>
           </li>
            <?php endfor; ?>
        </ul>

希望有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-10
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 2017-01-13
    • 2020-12-30
    • 1970-01-01
    相关资源
    最近更新 更多