为什么我的行应该循环170次时循环12000次?

时间:2016-01-04 20:45:28

标签: php mysql

我在mySQL数据库和数组上运行了一段时间/ foreach以检查它是否存在。它应该循环170次,但它循环超过12000次。那是为什么?

$my_rows = array();
while($row = mysql_fetch_assoc($run_query)){

    $my_rows[] = $row;
    foreach($my_rows as $row){
        if(in_array_r($row['name'], $products)){
            echo "Exists";
        } else {
            echo "Does not exist";
        }
    }
}

2 个答案:

答案 0 :(得分:3)

这里应该发生的是,您将mysql_fetch_assoc的结果分配给$my_rows,然后循环遍历$my_rows的内容。一圈。其中一个循环不需要存在。

$my_rows = mysql_fetch_assoc(...);
foreach($my_rows as $row){ ...do stuff here... }

答案 1 :(得分:2)

$my_rows = array();

while($row = mysql_fetch_assoc($run_query)){

    $my_rows[] = $row;

    if(in_array_r($row['name'], $products)){

        echo "Exists";

    } else {

        echo "Does not exist";

    }

}