ホームページ > バックエンド開発 > PHPチュートリアル > PHPのFor、while、foreachの比較説明

PHPのFor、while、foreachの比較説明

伊谢尔伦
リリース: 2023-03-11 08:30:01
オリジナル
1527 人が閲覧しました

プログラミング言語として PHP を使用する過程で、コードを複数回実行する必要がある状況によく遭遇します。このとき、PHPループを使用する必要があります。 PHP には、適切なシナリオで使用できる 3 つの異なるタイプのループが用意されています。

For ループ

for ループ

を実行する必要がある回数が決定されました。

構文:

for (initialization; condition; increment)
{
    code to be executed;
}
ログイン後にコピー
<?php
for($i=1; $i<=100000; $i++)
{    
   echo "The number is " . $i . "<br>";
}
?>
ログイン後にコピー

while ループ

while 式は、条件文が false になるまでコードのブロックを実行します。 While ループは通常、データベース関連の操作に適しています。


構文:

while (condition)
{
    code to be executed;
}
ログイン後にコピー
<?php
// If you had an array with fruit names and prices in you could use foreach
$fruit = array( 
    "orange" =--> "5.00", 
    "apple" => "2.50", 
    "banana" => "3.99" 
); 

foreach ($fruit as $key => $value) 
{ 
 "$key is $value dollars";
} 
?>
ログイン後にコピー

3 種類のループの比較

PHP には多くの種類のループがあることがわかっています。次に、作成するアプリケーションを高速化するには、どのループがより効率的かを知る必要があります。

比較のため実験を始めましょう。

While ループと For ループ

<?php    
// While Loop    
$a=0;    
     while($a < 1000)
    {
        $a++;
    }
?>
ログイン後にコピー

VS.

<?php    
  // For Loop    
    for($a = 0; $a < 1000;)
    {
     $a++;
    }
?>
ログイン後にコピー

上記の実験は、while ループが For ループよりも 19.71% 効率的であることを証明しています。したがって、可能な限り For ループの代わりに while ループを使用することをお勧めします。

For ループと Foreach ループ

<?php    
  $test = array(1 => "cat", "dog" => 0, "red" => "green", 5 => 4, 3, "me");    
  $keys = array_keys($test);    
  $size = sizeOf($keys);    
  for($a = 0; $a < $size; $a++)
 {        
    $t = $test[$keys[$a]];
  }
?>
ログイン後にコピー

VS.

<?php    
  $test = array(1 => "cat", "dog" => 0, "red" => "green", 5 => 4, 3, "me");    
  foreach($test as $t)
  {
    
 }
?>
ログイン後にコピー

上記の実験は、Foreach ループが For ループより 141.29% 高速であることを証明しています!

結論

これらのループは通常、さまざまな目的を達成するために使用されます。これで、それぞれが何を意味するかがわかりました。ループは効率パフォーマンスを実行しています。実行効率を追求する必要がある場合は、通常、for ループではなく while ループを使用することをお勧めします。同様に、foreach ループとループ ループの間でも、できるだけ foreach ループを使用します。次に、テンプレートでループを効果的に使用する方法を見ていきます。ご期待ください。



以上がPHPのFor、while、foreachの比較説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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