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 ++;
}
?>
任何想法?
谢谢。
答
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
}
?>
,而不是'0'你可以做一个'的printf( “%02S”,$ index + 1);' –
Prix
2011-03-15 23:10:37
@Prix:谢谢! :-) – laukok 2011-03-15 23:17:55