PHP 教程
默認(rèn)情況下,所有的PHP文件都處于弱類型校驗?zāi)J健?/p>
PHP 7 增加了標(biāo)量類型聲明的特性,標(biāo)量類型聲明有兩種模式:
標(biāo)量類型聲明語法格式:
declare(strict_types=1);
代碼中通過指定 strict_types的值(1或者0),1表示嚴(yán)格類型校驗?zāi)J?,作用于函?shù)調(diào)用和返回語句;0表示弱類型校驗?zāi)J健?/p>
可以使用的類型參數(shù)有:
int
float
bool
string
interfaces
array
callable
以上程序執(zhí)行輸出結(jié)果為:
9
實例匯總將參數(shù) 4.1 轉(zhuǎn)換為整數(shù) 4 后再相加。
以上程序由于采用了嚴(yán)格模式,所以如果參數(shù)中出現(xiàn)不適整數(shù)的類型會報錯,執(zhí)行輸出結(jié)果為:
PHP Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, called in……
PHP 7 增加了對返回類型聲明的支持,返回類型聲明指明了函數(shù)返回值的類型。
可以聲明的返回類型有:
int
float
bool
string
interfaces
array
callable
實例中,要求返回結(jié)果為整數(shù):
以上程序執(zhí)行輸出結(jié)果為:
5
以上程序由于采用了嚴(yán)格模式,返回值必須是 int,但是計算結(jié)果是float,所以會報錯,執(zhí)行輸出結(jié)果為:
Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...
返回的類型還有 void,定義返回類型為 void 的函數(shù)不能有返回值,即使返回 null 也不行。
void 函數(shù)可以省去 return 語句,或者使用一個空的 return 語句。
以上實例輸出結(jié)果:
null int(2) int(1)