萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php循環控制語句

php循環控制語句

在php中循環語句我們常用的就幾種,while,do while ,for(),foreach這四種,也是大家開發中常用到的循環語句了,有需要的朋友可以參考一下,本教程一一來講一下這種語句的用法。

Foreach語句
Foreach循環是php4.0引進來的,只能用於數組。在php5中,又增加了對對象的支持。該語句的語法格式為:
foreach(array_expression as $value)
statement;

 代碼如下 復制代碼

Foreach(array_expression as $key => $value)
statement;


FOREACH ($array_variable as $value)
{
  [code to execute]
}

or

FOREACH ($array_variable as $key => $value)
{
  [code to execute]
}

在這兩種情況下,多次[代碼執行]將被處死是等於在$ array_variable數組元素的個數。

讓我們來看一個例子。假設我們有下面的代碼段:

 

 代碼如下 復制代碼

$array1 = array(1,2,3,4,5);
FOREACH ($array1 as $abc)
{
  print "new value is " . $abc*10 . "<br>";
}

輸出結果

new value is 10
new value is 20
new value is 30
new value is 40
new value is 50

foreach循環以上經歷了所有5個元素的數組$ array1,每次打印出一份聲明中含有10倍的數組元素的值。
foreach作用是遍歷當前數組的所有值出來並且賦給$var

再來看一個foreach 對多維數據操作實例

 代碼如下 復制代碼

 $s = array(array(1,2),array(3,4),array(5,6));
 foreach( $s as $v => $_v )
  {
   foreach( $_v as $vc => $_vc )
   {
    echo $_vc[0],'|'.$_vc[1],'<br />';
   //print_r($_vc);
   }
  }


更多詳細內容請查看:http://www.111cn.net/phper/18/foreach-foreach.htm


for語句

最基於的遍歷

 代碼如下 復制代碼

<?php
/* example 1 */

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/* example 2 */

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* example 3 */

$i = 1;
for (; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* example 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>


遍歷數組

 代碼如下 復制代碼

<?php
/*
* This is an array with some data we want to modify
* when running through the for loop.
*/
$people = Array(
        Array('name' => 'Kalle', 'salt' => 856412),
        Array('name' => 'Pierre', 'salt' => 215863)
        );

for($i = 0; $i < sizeof($people); ++$i)
{
    $people[$i]['salt'] = rand(000000, 999999);
}
?>

下面再看while 與do while
While循環是php中最簡單的循環語句,他的語法格式是:

 代碼如下 復制代碼 While (expression){
statement;
}

當表達式expression的值為真時,將執行statement語句,執行結束後,再返回到expression表達式繼續進行判斷。直到表達式的值為假時,才跳出循環。

 

 代碼如下 復制代碼

<?php
/* example 1 */

$i = 1;
while ($i <= 10) {
    echo $i++;  /* the printed value would be
                   $i before the increment
                   (post-increment) */
}

/* example 2 */

$i = 1;
while ($i <= 10):
    echo $i;
    $i++;
endwhile;
?>


Do…While語句
While語句還有一種形式的表示,Do…While.語法為:
Do{
statement;
}While(expression);
兩者的區別在於:Do…While語句要比While語句多循環一次。
當While表達式的值為假時,While循環直接跳出當前循環,而Do…While語句則是先執行一遍程序塊,然後再對表達式進行判斷。


實例

 代碼如下 復制代碼

<?php
do {
    if ($i < 5) {
        echo "i is not big enough";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "i is ok";

    /* process i */

} while (0);
?>

copyright © 萬盛學電腦網 all rights reserved