php 数组foreach循环的问题

<?phpinclude("conn.php");$sanma=array("111","112");foreach($sanmaas$num){$result=mysq... <?php
include ("conn.php");
$sanma = array("111","112");
foreach( $sanma as $num ) {

$result = mysql_query("SELECT * FROM kjnum where zuxuan='$num'");
while($row = mysql_fetch_array($result)){
$arr[] = $row['id'];

} //把查询到的id放到数组arr
$count =1; //根据数组arr里面的数据开始进行下面的运算

$v1=0;
foreach ($arr as $v){
if($count){
$v1=$v;
$count=0;
}
$newitem=$v-$v1;
$v1=$v;
$addarr[]=$newitem;
}
echo max($addarr);//输出的就是最大值
echo "</br>";
}
?>
看第三行$sanma = array("111","112","113","114","115","116");这个是条件。 为啥只计算了第一个,第二个以后没有参,但是结果能出来,都是第一个的。求高人看看是不是循环出问题了
foreach套foreach,糊涂了
展开
 我来答
lcy8760450
2015-10-10 · TA获得超过956个赞
知道小有建树答主
回答量:610
采纳率:64%
帮助的人:390万
展开全部
你在第一foreach的第一行加上print_r("<<{$num}>>");
并在while执行完成后加是echo "[[" . count($arr) . "]]";
执行一下,看看打印出来的结果,再分析错在哪里,比如有可能数据库里有111的数据
更多追问追答
追问
比方有2个条件111和112
不加你说的输出为
1331
1331
加上后就是输出为下面
>1331

>1331
[[989]]
其实111的计算是对的。112的计算就是错的,还是条件111的结果,并不是112的结果。
追答
$result = mysql_query("SELECT * FROM kjnum where zuxuan='$num'");

改为
$sql = "SELECT * FROM kjnum where zuxuan='$num'";
print_r("[]");
$result = mysql_query($sql);
看看$sql是什么
还有,在第一个foreach的第一行要加上$arr = array(),否则111的结果会影响113的结果
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式