php组成,PHP的控制结构,PHP脚本是由一系列语句组成的。
任何 PHP 腳本都是由一系列語句構(gòu)成的。一條語句可以是一個賦值語句,一個函數(shù)調(diào)用,一個循環(huán),一個條件語句或者甚至是一個什么也不做的語句(空語句)。語句通常以分號結(jié)束。此外,還可以用花括號將一組語句封裝成一個語句組。語句組本身可以當作是一行語句。
■ if
■ else
■ elseif/else if:elseif 的語句僅在之前的 if 或 elseif 的表達式值為 FALSE,而當前的 elseif 表達式值為 TRUE 時執(zhí)行。
■ 流程控制的替代語法:PHP 提供了一些流程控制的替代語法,包括 if,while,for,foreach 和 switch。替代語法的基本形式是把左花括號({)換成冒號(:),把右花括號(})分別換成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;
A is equal to 5
替代語法同樣可以用在 else 和 elseif 中。下面是一個包括 elseif 和 else 的 if 結(jié)構(gòu)用替代語法格式寫的例子:
if ($a == 5):
echo "a equals 5";
echo "...";
elseif ($a == 6):
echo "a equals 6";
echo "!!!";
else:
echo "a is neither 5 nor 6";
endif;
?>
■ while
■ do-while
■ for
■ foreach
PHP 4 引入了 foreach 結(jié)構(gòu),和 Perl 以及其他語言很像。這只是一種遍歷數(shù)組簡便方法。foreach 僅能用于數(shù)組,當試圖將其用于其它數(shù)據(jù)類型或者一個未初始化的變量時會產(chǎn)生錯誤。下面是兩種遍歷數(shù)組的方式:
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
Note:
當 foreach 開始執(zhí)行時,數(shù)組內(nèi)部的指針會自動指向第一個單元。這意味著不需要在 foreach 循環(huán)之前調(diào)用 reset()。
Note:
除非數(shù)組是被引用,foreach 所操作的是指定數(shù)組的一個拷貝,而不是該數(shù)組本身。foreach對數(shù)組指針有些副作用。除非對其重置,在 foreach 循環(huán)中或循環(huán)后都不要依賴數(shù)組指針的值。
自 PHP 5 起,可以很容易地通過在 $value 之前加上 & 來修改數(shù)組的元素。此方法將以引用賦值而不是拷貝一個值。
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>
Note:
foreach 不支持用“@”來抑制錯誤信息的能力。
■ break
break 結(jié)束當前 for,foreach,while,do-while 或者 switch 結(jié)構(gòu)的執(zhí)行。
break 可以接受一個可選的數(shù)字參數(shù)來決定跳出幾重循環(huán)。
■ continue
continue 在循環(huán)結(jié)構(gòu)用用來跳過本次循環(huán)中剩余的代碼并在條件求值為真時開始執(zhí)行下一次循環(huán)。
Note: 注意在 PHP 中 switch 語句被認為是可以使用 continue 的一種循環(huán)結(jié)構(gòu)。
continue 接受一個可選的數(shù)字參數(shù)來決定跳過幾重循環(huán)到循環(huán)結(jié)尾。
■ switch
switch 語句和具有同樣表達式的一系列的 IF 語句相似。很多場合下需要把同一個變量(或表達式)與很多不同的值比較,并根據(jù)它等于哪個值來執(zhí)行不同的代碼。這正是 switch 語句的用途。
Note: 注意和其它語言不同,continue 語句作用到 switch 上的作用類似于 break。如果在循環(huán)中有一個 switch 并希望 continue 到外層循環(huán)中的下一個輪回,用 continue 2。
if 和 switch比較
if?($i?==?0)?{
echo?"i?equals?0";
}?elseif?($i?==?1)?{
echo?"i?equals?1";
}?elseif?($i?==?2)?{
echo?"i?equals?2";
}
switch?($i)?{
case?0:
echo?"i?equals?0";
break;
case?1:
echo?"i?equals?1";
break;
case?2:
echo?"i?equals?2";
break;
}
?>
switch 結(jié)構(gòu)可以用字符串
switch ($i) {
case "apple":
echo "i is apple";
break;
case "bar":
echo "i is bar";
break;
case "cake":
echo "i is cake";
break;
}
?>
■ declare
■ return
■ require
require() 語句包含并運行指定文件。
require() 和 include() 幾乎完全一樣,除了處理失敗的方式不同之外。include() 產(chǎn)生一個Warning而require() 則導(dǎo)致一個 Fatal Error。換句話說,如果想在丟失文件時停止處理頁面,那就別猶豫了,用 require() 吧。include() 就不是這樣,腳本會繼續(xù)運行。同時也要確認設(shè)置了合適的include_path。
■ include
■ require_once
require_once() 語句在腳本執(zhí)行期間包含并運行指定文件。此行為和 require() 語句完全相同,唯一區(qū)別是如果該文件中的代碼已經(jīng)被包含了,則不會再次包含。
■ include_once
■ goto
goto操作符可以用來跳轉(zhuǎn)到程序中的某一指定位置。該目標位置可以用目標名稱 加上冒號來標記。PHP中的goto有一定限制,只能在同一個文件和作用域中跳轉(zhuǎn), 也就是說你無法跳出一個函數(shù)或類方法,也無法跳入到另一個函數(shù)。你也無法跳入到任何循環(huán)或者switch 結(jié)構(gòu)中。常見的用法是用來跳出循環(huán)或者switch,可以代替多層的break。 限制使用goto語句,會影響程序可讀性。
喜歡 (0)or分享 (0)
總結(jié)
以上是生活随笔為你收集整理的php组成,PHP的控制结构,PHP脚本是由一系列语句组成的。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++如何禁用指定的键盘布局_Karab
- 下一篇: php+静态变量的初始值,php 静态变