私が取り組んでいるコードで、次のことを見てきました。
foreach( $mysql_result as $row ) $site_id = $row->id;
$mysql_result はもちろん mysql_result であるため、この foreach は while( mysql_fetch_row() ) と同等です。
場合によっては、結果が 1 行しか生成されないことがわかっている場合でも、コードにはまだ「foreach」があるため、多くの行をループしているような印象を与えます。
each() を使用してみましたが、これでは機能しません。
mysql_fetch_row() を使用できることはわかっていますが、コードは DB に依存しない必要があるため、DB 固有の関数は使用できません。この場合、 foreach() の最初の反復と同じように機能する each() のようなものはありますか?
PS: 読みやすくするために現在行っていることは、前の例を次のように変更することです。
foreach( $mysql_result as $row ) break;
$site_id = $row->id;
したがって、 foreach が最大で 1 回だけループすることは明らかです。