首頁  >  文章  >  後端開發  >  詳細介紹PHP中For、While、Foreach迴圈的比較

詳細介紹PHP中For、While、Foreach迴圈的比較

黄舟
黄舟原創
2017-03-23 09:51:041852瀏覽

在使用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循環。下一步,我們將會研究如何有效地在模板中使用循環。請繼續關注。 ############

以上是詳細介紹PHP中For、While、Foreach迴圈的比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn