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

我正在使用按查询选择组,因为我在列中有重复的值和一个 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>";

    }


}

结果


在此处输入图片说明


我想要的是这个结果


0

1.3048

1

3.140583

然后比较if语句中的结果


for( $i=$offset; $i<$end; $i++ )

{

   $data = $res[$i];


   if($data['latitude'] == $lativalue){

    $icon = "upload/yellow.png";

   }


}


料青山看我应如是
浏览 185回答 1
1回答

绝地无双

当你这样做时,$countedlati = array($row['lati']);你用 1 个元素定义数组 - 这就是为什么你每次都得到 0。您应该将元素添加到一个数组中,然后对其进行迭代。考虑以下示例:$sqlr = mysql_query ("SELECT lati, COUNT(*) FROM upload GROUP BY lati HAVING COUNT(lati) > 1;");&nbsp;$latis = array(); // init empty arraywhile ($row = mysql_fetch_array($sqlr)) {&nbsp; &nbsp;&nbsp; &nbsp; $latis[] = $row['lati']; // append the element to the array}现在你可以做foreach循环:foreach($latis as $lati) {&nbsp; &nbsp;if($lati == $lativalue){&nbsp; &nbsp; &nbsp; &nbsp;$icon = "upload/yellow.png";&nbsp; &nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP