在我看来:
<?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
的最后一项开始循环。
不确定这是否是一个好的解决方案,但它对你有用。
<?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 循环的每次迭代中再次设置为零。
我希望这会有所帮助。
注意:这段代码我没有测试过,只是给你一个想法。它可能会也可能不会起作用。如果您正在使用它,请根据您的需要进行调整
<?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; ?>