为了账号安全,请及时绑定邮箱和手机立即绑定

无法在 foreach 键中自动递增作为值

无法在 foreach 键中自动递增作为值

PHP
料青山看我应如是 2021-08-21 10:06:13
我正在使用按查询选择组,因为我在列中有重复的值和一个 foreach 循环来为每个增量生成每个结果。但是,我得到了正确的结果,但没有得到增量,我也需要将我的结果与(if 语句)进行比较。$sqlr = mysql_query ("SELECT lati, COUNT(*) FROM upload GROUP BY lati HAVING COUNT(lati) > 1;"); while ($row = mysql_fetch_array($sqlr)) {    $countedlati = array($row['lati']);    foreach ($countedlati as $key => $lativalue) {         echo $key ."</br>".$lativalue ."</br>";    }}结果在此处输入图片说明我想要的是这个结果01.304813.140583然后比较if语句中的结果for( $i=$offset; $i<$end; $i++ ){   $data = $res[$i];   if($data['latitude'] == $lativalue){    $icon = "upload/yellow.png";   }}
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

当你这样做时,$countedlati = array($row['lati']);你用 1 个元素定义数组 - 这就是为什么你每次都得到 0。


您应该将元素添加到一个数组中,然后对其进行迭代。考虑以下示例:


$sqlr = mysql_query ("SELECT lati, COUNT(*) FROM upload GROUP BY lati HAVING COUNT(lati) > 1;"); 


$latis = array(); // init empty array

while ($row = mysql_fetch_array($sqlr)) {   

    $latis[] = $row['lati']; // append the element to the array

}

现在你可以做foreach循环:


foreach($latis as $lati) {

   if($lati == $lativalue){

       $icon = "upload/yellow.png";

   }

}


查看完整回答
反对 回复 2021-08-21
  • 1 回答
  • 0 关注
  • 184 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信