我在我正在处理的代码中看到了以下内容:
foreach( $mysql_result as $row ) $site_id = $row->id;
$mysql_result 当然是 mysql_result,所以这个 foreach 等价于 while(mysql_fetch_row())
有时,已知结果只产生一行,但代码仍然有一个“foreach”,因此它给人的印象是循环通过许多行。
我尝试使用 each() 但不适用于此。
我知道我可以使用 mysql_fetch_row(),但是代码应该是独立于数据库的,所以我不能使用数据库特定的函数。在这种情况下是否有类似 each() 的东西,就像 foreach() 的第一次迭代一样?
PS:我目前为提高可读性所做的是将前面的例子变成这样:
foreach( $mysql_result as $row ) break;
$site_id = $row->id;
所以很明显 foreach 最多只会循环一次。