ホームページ > バックエンド開発 > PHPチュートリアル > while および foreach の走査効率の問題

while および foreach の走査効率の問題

WBOY
リリース: 2016-06-20 12:35:19
オリジナル
1328 人が閲覧しました

$sql=$empire->query("select * from member");
while($r=$empire->fetch($sql))
{
echo $r ['username'].'
';//結果セットを受け入れます
}
これは問題ありません
///////////////// // /////////////////////
$sql=$empire->query("select * from {$dbtbpre}enewsmember"); 🎜>$ rows = mysql_fetch_array($sql);
foreach($rows as $key => $value){
echo $value.'
}
これ1 行を走査します
/////////////////////////////////////////
$sql=$ Empire->query("select * from {$dbtbpre}enewsmember");
while ($rows = mysql_fetch_array($sql)){
foreach($rows as $key = > $value){
echo $value.'
';
}
}

3 番目の方法は、すべてを走査することです。 foreach は while よりも効率を向上させることができますが、3 番目のメソッドでも配列を受け入れるために while を使用します。これと直接の while ループの間に効率の違いはありますか?

結果セットを受け入れる他のフォームはありますか?


ディスカッションへの返信 (解決策)

while は主に項目数が不確実な場合に使用されます

foreach はその逆です

ループ関数は異なりますが、比較することはできません


foreach は配列をシステムに渡します内部処理 ループは for より効率的です
foreach と for はどちらも特定の数のループを対象としています

特殊なケースとして、for ループは次のように記述することもできます
for(; $rows = mysql_fetch_array($sql );;) {}
これは while($rows = mysql_fetch_array($sql)) {}


$sql=$empire->query ("select * from member");

while ($rows = mysql_fetch_array($sql)){
foreach($rows as $key => $value){
echo $value.'< ;br>' ;
}
}
//////////////////////// ///
これはより効率的です。または、直接 while ループを使用する方が効率的です。

while を使わずに foreach ループを直接使用する方法はありますか?

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート