PHP foreach:将循环分成两部分

时间:2011-03-15 23:06:19

标签: 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 ++;
    }

?>

有什么想法吗?

感谢。

4 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:1)

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

你需要这样的东西吗?

答案 2 :(得分:0)

尝试一起删除循环并使用带有implode()

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

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

答案 3 :(得分:0)

也许你可以创建2 for for循环

<?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 
}
?>