php中断不能按预期工作?

php中断不能按预期工作?,php,loops,break,Php,Loops,Break,我有一个for循环,它在xml中循环。然后我从数据库中获取结果并查找id 发生的情况是,当找到一个id并发生中断时,它会停止while循环和父for循环。我只想停止while循环。我如何让它按预期工作 $xml = simplexml_load_file('file/path/here'); $articles = $xml->article; $total_articles = count($articles); // Cycle through the list of articl

我有一个for循环,它在xml中循环。然后我从数据库中获取结果并查找id

发生的情况是,当找到一个id并发生中断时,它会停止while循环和父for循环。我只想停止while循环。我如何让它按预期工作

$xml = simplexml_load_file('file/path/here');

$articles = $xml->article;
$total_articles = count($articles);

// Cycle through the list of articles
for($a=0; $a<$total_articles; $a++)
{
    // Check if article already exists
    // MySQLi select statement goes here

    $exists = false;
    while($a = $article_result->fetch_assoc())
    {
        if($a['article_id'] == $id)
        {
            $exists = true;
            break 1;
        }
    }
}
$xml=simplexml\u load\u文件('file/path/here');
$articles=$xml->article;
$total_articles=计数($articles);
//循环浏览文章列表
对于($a=0;$afetch\U assoc())
{
如果($a['article_id']==$id)
{
$exists=true;
破口1;
}
}
}

您正在将
$a
设置为
$article\u result->fetch\u assoc()

在这里:


[]<1
为我返回false,至少对php7返回false。

您正在将
$a
设置为
$article\u result->fetch\u assoc()

在这里:


[]<1
为我返回false,至少对php7返回false。

@Alive在这种情况下根本不起任何作用。
//MySQLi select语句出现在这里
-不应该;循环内的select查询是您希望避免的,如果可能的话,这通常会有糟糕的性能。
break 1
应该只中断
,而
循环(实际上您可以省略
1
)。这意味着此代码示例不足以重现问题。可能$a您过度编写了
$a
变量
while()
。再吃一片variable@Alive在这种情况下,这根本不起任何作用。
//MySQLi select语句出现在这里
-它不应该;循环内的select查询是您希望避免的,如果可能的话,这通常会有糟糕的性能。
break 1
应该只中断
,而
循环(实际上您可以省略
1
)。这意味着此代码示例不足以重现问题。可能$a您过度编写了
$a
变量
while()
。再来一杯谢谢。没有意识到我在两个循环中都使用了$a。问题解决了,谢谢。没有意识到我在两个循环中都使用了$a。问题解决了。
...
while($a = $article_result->fetch_assoc())
...