PHP在数据库里拿到数据后遍历了定义一个变量自增,我现在想在里面的数据中有重复的就不自增.请看代码:
$r=1;sql="selecta,b,cfromtablewhereid=$idorderbya"$rs=$CONN->Execute($SQL)ordie($SQL)...
$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这样。 展开
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这样。 展开
2个回答
展开全部
$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;
希望采纳
$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,不知道你想要啥功能,你说的我也不明白,不好意思
展开全部
你这是什么语法 搞不懂 order by a 多余不 没有排序方法
foreach($arr as a){
什么变量 ? php吧 a 还是变量 别的吧 $arr 还是变量 搞不懂
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这样有相同的数就不增加
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询