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(浮點)。
還有一點,如果定義了嚴格模式,返回值如果不符合規定的資料型別也會報錯。
相關文章
- SpringCloud學習筆記:宣告式呼叫Feign(4)SpringGCCloud筆記
- 自學PHP筆記(二)PHP資料型別PHP筆記資料型別
- 自學PHP筆記 (三) 型別轉換PHP筆記型別
- 自學PHP筆記(三) 型別轉換PHP筆記型別
- Go型別特性-學習筆記Go型別筆記
- TS學習筆記(一):基本型別筆記型別
- Python 學習筆記——資料型別Python筆記資料型別
- PHP 學習筆記PHP筆記
- C#學習筆記之值型別與引用型別C#筆記型別
- Python學習筆記6——動態型別Python筆記型別
- Python學習筆記(一) 資料型別Python筆記資料型別
- Python學習筆記 String型別常用方法Python筆記型別
- TypeScript 學習筆記 — 函式中的型別(四)TypeScript筆記函式型別
- Python 3 學習筆記之——資料型別Python筆記資料型別
- Redis學習筆記(二)——Redis資料型別Redis筆記資料型別
- redis學習筆記2: Redis資料型別Redis筆記資料型別
- Python學習筆記2:基本資料型別Python筆記資料型別
- Java學習筆記8-資料型別Java筆記資料型別
- JavaScript 型別、原型與繼承學習筆記JavaScript型別原型繼承筆記
- Java學習筆記【1】陣列的宣告和建立Java筆記陣列
- python學習筆記1—python的基本資料型別Python筆記資料型別
- 指標學習筆記指標筆記
- 尹成學院golang學習快速筆記(1)型別Golang筆記型別
- 《PHP學習筆記——PHP基本語法》PHP筆記
- 泛型學習筆記泛型筆記
- swift學習筆記《4》Swift筆記
- python學習筆記4Python筆記
- Java學習筆記4Java筆記
- vue學習筆記4Vue筆記
- TypeScript學習筆記—安裝與基礎型別TypeScript筆記型別
- OpenCV學習筆記(3)——Scalar資料型別理解OpenCV筆記資料型別
- 幾種型別神經網路學習筆記型別神經網路筆記
- hive學習筆記之一:基本資料型別Hive筆記資料型別
- GObject學習筆記(二)型別建立與註冊GoObject筆記型別
- GraphQL —— 標量型別型別
- php設計模式學習筆記PHP設計模式筆記
- PHP 資料加密 (學習筆記)PHP加密筆記
- 飛機的 PHP 學習筆記九:安全PHP筆記