在php中循環(huán)語句我們常用的就幾種,while,do while ,for(),foreach這四種,也是大家開發(fā)中常用到的循環(huán)語句了,有需要的朋友可以參考一下,本教程一一來講一下這種語句的用法.
Foreach語句
Foreach循環(huán)是php4.0引進(jìn)來的,只能用于數(shù)組,在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]
- }
在這兩種情況下,多次[代碼執(zhí)行]將被處死是等于在$ array_variable數(shù)組元素的個數(shù),讓我們來看一個例子,假設(shè)我們有下面的代碼段:
- $array1 = array(1,2,3,4,5);
- FOREACH ($array1 as $abc)
- {
- print "new value is " . $abc*10 . "<br>";
- }
- //輸出結(jié)果
- //new value is 10
- //new value is 20
- //new value is 30
- //new value is 40
- //new value is 50
foreach循環(huán)以上經(jīng)歷了所有5個元素的數(shù)組$ array1,每次打印出一份聲明中含有10倍的數(shù)組元素的值.
foreach作用是遍歷當(dāng)前數(shù)組的所有值出來并且賦給$var
再來看一個foreach 對多維數(shù)據(jù)操作實例:
- $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);
- }
- }
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++);
- ?>
遍歷數(shù)組,代碼如下:
- <?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循環(huán)是php中最簡單的循環(huán)語句,他的語法格式是:
- While (expression){
- statement;
- }
當(dāng)表達(dá)式expression的值為真時,將執(zhí)行statement語句,執(zhí)行結(jié)束后,再返回到expression表達(dá)式繼續(xù)進(jìn)行判斷,直到表達(dá)式的值為假時,才跳出循環(huán).代碼如下:
- <?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);
兩者的區(qū)別在于:Do…While語句要比While語句多循環(huán)一次。
當(dāng)While表達(dá)式的值為假時,While循環(huán)直接跳出當(dāng)前循環(huán),而Do…While語句則是先執(zhí)行一遍程序塊,然后再對表達(dá)式進(jìn)行判斷.
實例代碼如下:
- <?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);
- ?>
新聞熱點
疑難解答