Rumah  >  Artikel  >  pembangunan bahagian belakang  >  详细介绍PHP中For、While、Foreach循环的比较

详细介绍PHP中For、While、Foreach循环的比较

黄舟
黄舟asal
2017-03-23 09:51:041897semak imbas

在使用PHP作为编程语言的过程中,我们经常会遇到需要将一段代码执行多次的情况。这时就需要用到PHP循环了。PHP提供了三种不同类型的循环供你在合适的场景中使用:

  • <a href="http://www.php.cn/wiki/125.html" target="_blank">For</a> 循环

  • <a href="http://www.php.cn/wiki/121.html" target="_blank">While</a> 循环

  • <a href="http://www.php.cn/wiki/127.html" target="_blank">Foreach</a> 循环

For循环

for循环用于已经确定将你的表达式需要执行多少次的情况。

语法:

for (initialization; condition; increment)
{
    code to be executed;
}
<p style="margin-top: 6px;"><?phpfor($i=1; $i<=100000; $i++)<br/>{    echo "The number is " . $i . "<br>";<br>}?><br></p>

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 
";
} 

?>

三种循环的比较

我们知道在PHP中有多种循环,现在我们需要知道哪种循环更加高效,以便于我们编写的应用更快。

下面我们开始实验进行对比.

While循环 vs. For循环

<?php    // While Loop    $a=0;    while($a < 1000)
    {
        $a++;
    }?>

VS.

<?php    // For Loop    for($a = 0; $a < 1000;)
    {
        $a++;
    }?>

上述实验证明While循环比For循环执行效率要高出19.71%。因此,推荐尽可能的使用while循环而不是For循环。

For循环 vs 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%!

结论

这些循环通常用于实现不同的目的,现在我们知道了各个循环在执行效率上的表现。当需要追求执行效率的时候,我们通常推荐使用while循环来代替for循环。同样的在foreach循环和loop循环之间,尽可能的使用foreach循环。下一步,我们将会研究如何有效地在模板中使用循环。请继续关注。


Atas ialah kandungan terperinci 详细介绍PHP中For、While、Foreach循环的比较. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn