1. 程式人生 > >PHP 分支與循環和goto

PHP 分支與循環和goto

obj 所有 結構化 eal ray 流程控制 ont 如果 string

分支與循環

1、if中的判斷條件
is_bool():判斷是否是布爾型
is_int()、is_integer()和is_long():判斷是否為整型。
is_float()、is_double()和is_real():判斷是否為浮點型
is_string():判斷是否為字符串
is_array():判斷是否為數組
is_object():判斷是否為對象
is_resource():判斷是否為資源類型
is_null():判斷是否為null
is_scalar():判斷是否為標量
is_numeric():判斷是否是任何類型的數字和數字字符串
is_callable():判斷是否是有效的函數名

2、elseif
PHP中,elseif語句可以連寫,也可以空格分隔;

例如:
else if() √
elseif() √

3、switch
PHP中,switch結構的判斷,使用==判斷,而非===
PHP中,continue可以用於switch結構,作用與break相同。
php中,continue和break可以後接數字,表示跳過幾層循環或switch;
eg:break 3;表示終止3層循環

4、do-while循環
do-while循環的最後必須要加分號。
do{

}while();

5、流程控制語句

1、break:終止本層循環;break後面可接數字,表示終止幾層循環。break 3,終止3層循環。
2、continue:跳過本次循環;continue後面也可接數字,表示跳過幾層循環
3、return:終止當前函數,並返回值(如果有的話),但是一般只在函數中使用,腳本中不建議使用return;
4、exit(mixed 結束語)/die(mixed 結束語)函數:直接結束當前PHP腳本!!
如果有參數傳入,則先打印出結束語,然後結束當前腳本。

goto

1、用法:

定義一個跳轉的錨點,"標識符"-->"jr:"
在任意位置,設置goto語句,跳轉到指定錨點:"goto jr;"


2、作用:

遇到goto語句時,直接跳轉到設置的標識符位置。


3、用於實現分支。
註意:goto語句只是讓當前的程序控制流跳轉到指定錨點,但是並不負責往下執行幾行代碼。
即,從錨點往下所有代碼會依次執行。如果實現多路分支,需配合goto語句,跳過其他分支。(詳見案例如下)


4、goto實現循環:

詳見案例。但是,goto中,跳出循環不能使用break。


5、goto語句的優缺點:
①優點:使用靈活方便,指令級語句,效率更快,性能更好。
②缺點:goto的大量使用,對於代碼的結構化是個災難。
不利於清晰的代碼結構,不利於理解代碼,而且極有可能跳過某些重要的聲明語句,導致代碼錯誤。

PHP 分支與循環和goto