在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.bKjia.c0m/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中最簡單的循環語句,他的語法格式是:
當表達式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);
?>