0

这在我看来:

<?php foreach ($serial_items as $k => $v): ?>
    <?php foreach ($v['children'] as $a => $b): ?>
    <li>
        <span class="info-bold" style="font-size:12px;"><?=$b->serial_num?></span>
    </li>
    <?php endforeach; ?> 
<?php endforeach; ?>

问:如何跳过第一个值$v?或者我想从第 2 项到最后一项开始循环$v

4

2 回答 2

0

不确定这是否是一个好的解决方案,但它会为你工作。

<?php foreach ($serial_items as $k => $v): ?>
         <?php $counter =0;  foreach ($v['children'] as $a => $b): ?>
              <?php if($counter == 0) continue; //if counter is 0, it means you are at first value of $v array, so skip it and continue the loop ?>
              <li>
                 <span class="info-bold" style="font-size:12px;"><?=$b->serial_num?></span>
              </li>
         <?php $counter++; ?>
         <?php endforeach; ?> 

如您所见,我在顶部 foreach 循环中创建了一个计数器变量 $counter,其值为 0。现在在第二个循环中,我检查 $counter 是否等于 0,如果为零,则表示我在第一个元素$v 数组,所以它跳过它并使用continue继续到内部循环。$counter 会随着内部 foreach 循环的每次迭代而递增,并随着外部 foreach 循环的每次迭代再次设置为零。

我希望这将有所帮助。

注意:此代码我没有测试,它只是给你一个想法。它可能会也可能不会起作用。如果您正在使用它,请根据您的需要进行调整

于 2013-09-30T11:58:10.747 回答
-1
<?php foreach ($serial_items as $k => $v): ?>
<?php $i=0;?>
<?php foreach ($v['children'] as $a => $b): ?>
 <?php if($i>0){?>
<li>
    <span class="info-bold" style="font-size:12px;"><?=$b->serial_num?></span>
</li>
<?php $++;}?>
<?php endforeach; ?> 
<?php endforeach; ?>
于 2013-09-30T12:03:23.267 回答