在遍历结果集中判断两次循环的值是否都为0
程序员文章站
2024-04-06 17:16:32
...
就是说 A表有10条数据,字段为phone,select之后 用while遍历,在while里面进行判断,$i的phone值与$i+1的phone值如果都等于0,那么进行相关操作。 这个循环该怎么写
代码已经写到这:
也可以直接查询
直接对比或读出后处理
也可以直接查询
直接对比或读出后处理
增加一个计数器,判断这个计数器的连续性,是则执行,否则重置
不然就把结果转数组,用foreach对下标操作
计数器的话该怎么操作,本人菜鸟,万分感谢。
和#4的思路类似,但老徐直接用了缓存数据,比用计数器更简洁了(计数器是缓存下标$i),所以我就不献丑了
非常感谢。
也可以直接查询
直接对比或读出后处理
那如果是 A表有两个字段,phone及value 。 循环判断 $i.phone与$i+1.phone相同,$i.value与$i+1.value的值又都为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),所以我就不献丑了
$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 这样语句怎么写?
有一就有二,不过就是多加的判断而已
推荐阅读