PHP foreach:将循环分成两部分

问题描述:

我想将循环分成两部分,但我无法弄清楚它!PHP foreach:将循环分成两部分

我想从阵列中环三个项目,然后再显示剩余的项目就是这样,

01 Home 
02 Portfolio 
03 Blog 

{my website logo} 

04 About 
05 Contact 
06 Feed 

这是代码我在哪里卡住,

<?php 
    $index = 0; 

    foreach($items as $item) 
    { 

    ?> 
    <li>0<?php echo $index+1;?><a href="#"><?php echo $item['name'];?></a></li> 
    <?php 
    $index ++; 
    } 

?> 

任何想法?

谢谢。

+1

,而不是'0 '你可以做一个'的printf( “%02S”,$ index + 1);' – Prix 2011-03-15 23:10:37

+0

@Prix:谢谢! :-) – laukok 2011-03-15 23:17:55

foreach ($items as $index => $item){ 
    echo /*<li>*/; 
    if ($index == 2){ 
     echo /*logo*/; 
    } 
} 

你需要那样的东西吗?

+0

没错!谢谢! :-) – laukok 2011-03-15 23:25:18

尝试一起去除循环使用array_slice与破灭()

$first_three = array_slice($items, 0, 3); 

print implode("\n", $first_three); 
print "LOGO"; 
print implode("\n", $items); 

也许array_slice的是你在找什么?

foreach (array_slice($items, 0, 3) as $item) { 
    // print item 
} 

// display logo 

foreach (array_slice($items, 2, 3) as $item) { 
    // print item 
} 
+0

糟糕,那第二个应该可能是3而不是2 ... array_slices($ items,3) – 2011-03-15 23:16:10

也许你可以只创建2循环

<?php 
for ($i=0; $i<3; $i++) { 
?> 
    <li>0<?php echo $i+1;?><a href="#"><?php echo $items[$i]['name'];?></a></li> 
<?php 
} 
?> 

// display logo 

<?php 
for ($i=3; $i<count($items); $i++) { 
?> 
    <li>0<?php echo $i+1;?><a href="#"><?php echo $items[$i]['name'];?></a></li> 
<?php 
} 
?>