如何在循环中判断一个值发生变化

Yuhao818 2010-01-11 11:46:34

$menus = array(
0=>"Top Menu",
1=>"Main Menu",
2=>"Main Menu",
3=>"Left Menu",
4=>"Footer Menu",
5=>"Footer Menu"
);

foreach ($menus as $menu){
//在这个方法里怎么判断$menu发生了变化
}
//这个方法可以实现,但我不想用这种
for ($i=0;$i<count($menus);$i++){
if ($menus[$i] != $menus[$i-1]){
echo $menus[$i]."<br>";
}
}
...全文
432 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yuhao818 2010-01-25
  • 打赏
  • 举报
回复
不好意思!分我给错人了!想给6楼呢
Yuhao818 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gzty 的回复:]
PHP code$menus=array(0=>"Top Menu",1=>"Main Menu",2=>"Main Menu",3=>"Left Menu",4=>"Footer Menu",5=>"Footer Menu"
);$temp=array(false,'');foreach ($menusas$menu){if(!$temp[0] ){$temp[0]=true;echo'第一个 随便你怎么搞 ^_^';
}elseif($temp[1]<>$menu ){echo$menu."<br>";
}$temp[1]=$menu;
}unset($temp,$menu);/*
//这个方法可以实现,但我不想用这种
for ($i=0;$i<count($menus);$i++){
if ($menus[$i] != $menus[$i-1]){
echo $menus[$i]."<br>";
}
}*/
[/Quote]

谢谢!这个方法好!
tony-杨 2010-01-17
  • 打赏
  • 举报
回复

$menus = array(
0=>"Top Menu",
1=>"Main Menu",
2=>"Main Menu",
3=>"Left Menu",
4=>"Footer Menu",
5=>"Footer Menu"
);

$temp = array(false,'');
foreach ($menus as $menu){
if( !$temp[0] ){
$temp[0] = true;
echo '第一个 随便你怎么搞 ^_^';
}elseif( $temp[1] <> $menu ){
echo $menu . "<br>";
}
$temp[1] = $menu;
}unset($temp, $menu);
/*
//这个方法可以实现,但我不想用这种
for ($i=0;$i<count($menus);$i++){
if ($menus[$i] != $menus[$i-1]){
echo $menus[$i]."<br>";
}
}*/
Yuhao818 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xiaolintongxue 的回复:]
在循环里
[/Quote]
这个方法在php里面倒是可以,要是在Java里面就会报数组越界的异常了。。。。
我只是想知道有没有更好的方法!比较规范的
xiaolintongxue 2010-01-11
  • 打赏
  • 举报
回复
在循环里
程序猿之殇 2010-01-11
  • 打赏
  • 举报
回复
没啥好办法
在循环里
床上等您 2010-01-11
  • 打赏
  • 举报
回复
帮顶,,,
jaxio 2010-01-11
  • 打赏
  • 举报
回复

//这个方法可以实现,但我不想用这种
for ($i=0;$i<count($menus);$i++){
if ($menus[$i] != $menus[$i-1]){
echo $menus[$i]."<br>";
}
}


我也是用这种方法。。就这个吧。没什么不好的

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧