【发布时间】:2012-10-12 07:57:38
【问题描述】:
我有一个嵌套循环,即
while()
{
for()
{
}
}
在我的页面中,我试图打破 for 循环并进入 while 循环而不退出它。我试过break;、break 1; 和goto xxx;,但这些都不起作用。这是代码:
while( $results = pg_fetch_assoc( $result ) )
{
$url = $results['url'];
for( $i = 0; $i < ($recordnum - 1); $i++ )
{
$urlpopup = $foldername . "/" . $namecomingform[$i];
if( $url == $urlpopup )
{
$isthererecord = 'yes';
goto getoutoffor;
}
else
{
$isthererecord = 'no';
}
}//end of for
getoutoffor:
if( $isthererecord == 'no' )
{
$sql = "UPDATE pictures SET erased='1' WHERE url='" . $url . "'";
$run = pg_query( $sqlconnection, $sql );
}
} //end of while
它似乎只检查数据库中的一条记录。
感谢任何帮助。
【问题讨论】:
-
break应该可以正常工作。你确定不是吗? -
您是否检查过
( $url == $urlpopup )的比较是否确实按预期工作? -
您的
for循环依赖于$recordnum,它似乎没有在任何地方初始化。 -
您可以使用布尔变量而不是将字符串设置为“是”或“否”。
-
这是我的代码的一部分,我实际上是在这部分代码的上面初始化它。
标签: php for-loop while-loop break nested-loops