foreach array_slice无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了foreach array_slice无法正常工作相关的知识,希望对你有一定的参考价值。

我尝试只显示foreach的前3项,但由于某种原因,我的代码似乎不起作用。

它可以使用默认代码:<?php foreach ($rma->getItemCollection() as $item):?>

我错过了什么?

码:

<?php $items = $rma->getItemCollection();
$item =  array_slice($items, 0, 3);
foreach($item as $itm): ?>
    <li class="order-row-item">
        <div class="order-row-product">
            <div class="order-row-product-image">
                <img src="<?php echo $this->helper('catalog/image')->init($itm->getProduct(), 'thumbnail')->resize(85) ?>" border="0" />
            </div>
            <div class="order-row-product-name">
                <?php echo substr(Mage::helper('rma')->getOrderItemLabel($itm), 0, 30) ?>
            </div>
        </div>
    </li>
<?php endforeach;?> 
答案

如果$rma->getItemCollection();的结果不是数组,而是一些实现Traversable接口的对象,则可以使用计数器:

<?php 
$items = $rma->getItemCollection();
$counter = 0;
foreach($items as $item): ?>
    <li>...</li>
<?php
    $counter++;
    if ($counter == 3) {
        break;
    }
endforeach;

其他方式可以指定查询的限制,这是在getItemCollection()的引擎盖下完成的。

另一答案

试试这段代码

<?php
 $items = $rma->getItemCollection();
 $item =  array_slice($items, 0, 3);
 foreach($item as $itm){
 echo'
    <li class="order-row-item">
        <div class="order-row-product">
            <div class="order-row-product-image">
                <img src="'.
                 $this->helper('catalog/image')->init($itm->getProduct(), 
               'thumbnail')->resize(85).' border="0" />
            </div>
            <div class="order-row-product-name">'.
              substr(Mage::helper('rma')->getOrderItemLabel($itm), 0, 30).'
            </div>
        </div>
    </li>';}
?>`

以上是关于foreach array_slice无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

划分 foreach 无法正常工作

SwiftUI ForEach.onDelete 在 TabView 中无法正常工作

在 foreach 循环中的 if 语句中的 while 循环...无法正常工作

ForEach 不能在 mongodb 上工作,但在本地数组声明中工作正常

checkbox knockout点击绑定无法正常工作

ForEach无法识别数组