• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

在遍历结果集中判断两次循环的值是否都为0

php 搞代码 4年前 (2022-01-23) 19次浏览 已收录 0个评论
文章目录[隐藏]

就是说 A表有10条数据,字段为phone,select之后 用while遍历,在while里面进行判断,$i的phone值与$i+1的phone值如果都等于0,那么进行相关操作。 这个循环该怎么写

代码已经写到这:

$i=0;while ($row = $db->fetch_array($result)){	$i++;	}

回复讨论(解决方案)

数据比较大,最好也可以考虑下效率问题。

增加一个计数器,判断这个计数器的连续性,是则执行,否则重置

不然就把结果转数组,用foreach对下标操作

增加一个计数器,判断这个计数器的连续性,是则执行,否则重置

不然就把结果转数组,用foreach对下标操作
计数器的话该怎么操作,本人菜鸟,万分感谢。

$last = array();while ($row = $db->fetch_array($result)){  if($last && $row['phone'] == 0 && $last['phone'] == 0) {    //处理代码  }  $last = $row;}

也可以直接查询

set @last:='';select @last as last, phone, @last:=phone from tbl_name

直接对比或读出后处理

增加一个计数器,判断这个计数器的连续性,是则执行,否则重置

不然就把结果转数组,用foreach对下标操作
计数器的话该怎么操作,本人菜鸟,万分感谢。
和#4的思路类似,但老徐直接用了缓存数据,比用计数器更简洁了(计数器是缓存下标$i),所以我就本文来源gao@!dai!ma.com搞$$代^@码!网!搞gaodaima代码不献丑了

$last = array();while ($row = $db->fetch_array($result)){  if($last && $row['phone'] == 0 && $last['phone'] == 0) {    //处理代码  }  $last = $row;}

也可以直接查询

set @last:='';select @last as last, phone, @last:=phone from tbl_name

直接对比或读出后处理

增加一个计数器,判断这个计数器的连续性,是则执行,否则重置

不然就把结果转数组,用foreach对下标操作
计数器的话该怎么操作,本人菜鸟,万分感谢。
和#4的思路类似,但老徐直接用了缓存数据,比用计数器更简洁了(计数器是缓存下标$i),所以我就不献丑了
非常感谢。

$last = array();while ($row = $db->fetch_array($result)){  if($last && $row['phone'] == 0 && $last['phone'] == 0) {    //处理代码  }  $last = $row;}

也可以直接查询

set @last:='';select @last as last, phone, @last:=phone from tbl_name

直接对比或读出后处理

那如果是 A表有两个字段,phone及value 。 循环判断 $i.phone与$i+1.phone相同,$i.value与$i+1.value的值又都为0 这样语句怎么写?

有一就有二,不过就是多加的判断而已


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在遍历结果集中判断两次循环的值是否都为0

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址