PHP學習筆記4:標量型別的宣告
預設情況下,所有的php檔案都處於弱型別效驗模式。PHP7加了標量型別的宣告特性,標量型別宣告有兩種模式:強制預設(預設)和嚴格模式。
標量型別的宣告語法格式如下:
declare(strict_types=1);
通過指定strict_types
的值(1或者0)來表示效驗模式:1表示嚴格型別效驗模式,作用於函式呼叫和返回語句;0表示強制型別效驗模式。
提示:可以宣告標量型別的引數型別包括int、float、bool、string、interfaces、array和callable。
強制模式
function sum(int ... $ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
執行結果是9,程式碼中的數字4.1會先轉換成4,然後再進行相加的操作。
嚴格模式
<?php
declare(strict_types=1); //嚴格模式,必須寫在首行
function sum(int ... $ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
當然執行這個會出錯,主要是傳遞給sum的三個引數,有兩個不是整型:‘3’(字串)和4.1(浮點)。
還有一點,如果定義了嚴格模式,返回值如果不符合規定的資料型別也會報錯。
相關文章
- PHP 7 標量型別宣告 RFCPHP型別
- perl學習筆記---標量筆記
- SpringCloud學習筆記:宣告式呼叫Feign(4)SpringGCCloud筆記
- Go型別特性-學習筆記Go型別筆記
- TS學習筆記(一):基本型別筆記型別
- MySQL學習筆記--資料型別MySql筆記資料型別
- JavaScript學習筆記---資料型別JavaScript筆記資料型別
- 型別-PHP手冊筆記型別PHP筆記
- 型別 - PHP手冊筆記型別PHP筆記
- PHP學習筆記PHP筆記
- PHP 學習筆記PHP筆記
- C#學習筆記之值型別與引用型別C#筆記型別
- CUDA 學習筆記之向量宣告使用筆記
- Python 學習筆記——資料型別Python筆記資料型別
- 【C++學習筆記】型別組合C++筆記型別
- 【C#學習筆記】型別轉換C#筆記型別
- MySQL學習筆記12:資料型別MySql筆記資料型別
- CUDA 學習筆記之型別轉換筆記型別
- scala學習筆記:變數宣告中的模式筆記變數模式
- TypeScript 學習筆記 — 函式中的型別(四)TypeScript筆記函式型別
- Hive學習筆記 2 Hive的資料型別Hive筆記資料型別
- 自學PHP筆記(二)PHP資料型別PHP筆記資料型別
- JavaScript 型別、原型與繼承學習筆記JavaScript型別原型繼承筆記
- Python學習筆記6——動態型別Python筆記型別
- Redis學習筆記(二)——Redis資料型別Redis筆記資料型別
- Python學習筆記(一) 資料型別Python筆記資料型別
- Python學習筆記(二)——資料型別Python筆記資料型別
- 【Go學習筆記14】嵌入型別(繼承)Go筆記型別繼承
- Linux檔案型別(學習筆記六)Linux型別筆記
- Swift學習筆記(三十四)——函式型別Swift筆記函式型別
- redis學習筆記2: Redis資料型別Redis筆記資料型別
- Java學習筆記8-資料型別Java筆記資料型別
- 指標學習筆記指標筆記
- Java學習筆記【1】陣列的宣告和建立Java筆記陣列
- 泛型學習筆記泛型筆記
- 尹成學院golang學習快速筆記(1)型別Golang筆記型別
- GraphQL —— 標量型別型別
- 自學PHP筆記 (三) 型別轉換PHP筆記型別