PHP在数据库里拿到数据后遍历了定义一个变量自增,我现在想在里面的数据中有重复的就不自增.请看代码:

$r=1;
sql="select a,b,c from table where id=$id order by a"
$rs=$CONN->Execute($SQL) or die($SQL);
$arr=$rs->GetArray();
foreach($arr as a){
echo a[a]的值如:5,6,6,7四个数
r++;
}我现在就是想根据a[a]里面的值如何有相同的数,R就不自增,r本来为1,2,3,4.现在在里面写个判断如果a[a]有相同的值就如上面5,6,6,7,那么r的值就该为1,2,2,4这样。

$r=0;
$temarr=array();

sql="select a,b,c from table where id=$id order by a"
$rs=$CONN->Execute($SQL) or die($SQL);
$arr=$rs->GetArray();
foreach($arr as $key=>$value){
echo $value;
if (!in_array("$value", $temarr)) {

$temarr[$r++]=$value;
}
}
echo "不重复数为:".$r;

希望采纳追问

你这个是什么意思不是很明白。我想要的是根据查询出来遍历字段a的值,就如上面说的如果遍历出来a的值为5,6,6,7 r的值就为1,2,2,4。。如果是5,6,7,8,8,9 r的值就为,1,2,3,4,4,6就是有相同的值时r的值就把本来是自增的数不增加,还是为原来的数。。可以用代替么?就好像这样if(当第几个数和上一个数相同){r的值也替换和上一个数相同,但还是会增加一次}出来后在自增。

追答

你的思维好乱,我的做法是把查出来的每一值加到一个数组里,如果之前有这个数,就不往里面放,计数器也不加1,否则放里面去,计数器加1,不知道你想要啥功能,你说的我也不明白,不好意思

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-28
你这是什么语法 搞不懂 order by a 多余不 没有排序方法
foreach($arr as a){

什么变量 ? php吧 a 还是变量 别的吧 $arr 还是变量 搞不懂追问

上面那个是echo a[0]的值为5,6,6,7就是数据库里面查出来子段a的值。打错了不是a[a].
现在就是想根据a[0]的值有相同的数r就为1,2,2,4。。如果a[0]为5.6.7.7.8 r就为1,2.3,3,5这样有相同的数就不增加

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网