2011-03-15 71 views
3

我想將循環分成兩部分,但我無法弄清楚它!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

回答

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

你需要那樣的東西嗎?

+0

沒錯!謝謝! :-) – laukok 2011-03-15 23:25:18

0

嘗試一起去除循環使用array_slice與破滅()

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

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

也許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

0

也許你可以只創建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 
} 
?>