PHP在数据库里拿到数据后遍历了定义一个变量自增,我现在想在里面的数据中有重复的就不自增.
sql="selecta,b,cfromtablewhereid=$idorderbya"$rs=$CONN->Execute($SQL)ordie($SQL);$arr...
sql="select a,b,c from table where id=$id order by a"
$rs=$CONN->Execute($SQL) or die($SQL);
$arr=$rs->GetArray();
$r=1;
foreach($arr as a){
echo a[0];的值如:5,6,6,7四个数
r++;
}我现在就是想根据a[0]里面的值就是数据库中的字段a如果有相同的数,R就不自增,r本来为1,2,3,4.现在在里面写个判断如果a[0]有相同的值就如上面5,6,6,7,那么r的值就该为1,2,2,4这样。如果为5,5,6,7 r就为1,1,3,4这样。 展开
$rs=$CONN->Execute($SQL) or die($SQL);
$arr=$rs->GetArray();
$r=1;
foreach($arr as a){
echo a[0];的值如:5,6,6,7四个数
r++;
}我现在就是想根据a[0]里面的值就是数据库中的字段a如果有相同的数,R就不自增,r本来为1,2,3,4.现在在里面写个判断如果a[0]有相同的值就如上面5,6,6,7,那么r的值就该为1,2,2,4这样。如果为5,5,6,7 r就为1,1,3,4这样。 展开
1个回答
展开全部
$r=1;
$a0='';
foreach($arr as $a){
echo $a[0];的值如:5,6,6,7四个数
if ($a[0]<>$a0) $r++;
$a0=$a[0];
}
$a0='';
foreach($arr as $a){
echo $a[0];的值如:5,6,6,7四个数
if ($a[0]<>$a0) $r++;
$a0=$a[0];
}
更多追问追答
追问
你这个好像只是判断a[0]的值不为空就自增把?我想的是根据遍历出来的a的值在第几个数相同,那么r就在那个数等于前一个数出来,次数还是会增加。就想我上面说的在遍历出来的a字段中第3个和第2个数相等也为6,那么r就是自增3的时候不显示3而是2,但次数会增加,到第4个数r还是显示4而不是3.不知道我这样说你能明白不?能实现不?再麻烦你下,谢谢了。
追答
我判断的不是不为空哦,是不和上一条相同。我新增加的变量$a0保存着的是上一次输出的那条。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询