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

WBOY
Release: 2016-06-23 14:27:25
Original
1131 people have browsed it

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

代码已经写到这:

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


回复讨论(解决方案)

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

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

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

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

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

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


也可以直接查询
set @last:='';select @last as last, phone, @last:=phone from tbl_name
Copy after login
Copy after login
Copy after login

直接对比或读出后处理


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

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

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


也可以直接查询
set @last:='';select @last as last, phone, @last:=phone from tbl_name
Copy after login
Copy after login
Copy after login

直接对比或读出后处理



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

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

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


也可以直接查询
set @last:='';select @last as last, phone, @last:=phone from tbl_name
Copy after login
Copy after login
Copy after login

直接对比或读出后处理

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

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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template