PHP開啟強型別檢驗

2021-10-02 23:58:22 字數 1170 閱讀 4688

php是世界上最好的語言,開發快是它最大的優勢,凡事有利必有弊。

眾所周知,php是弱型別語言,在傳遞引數時,不會檢查變數的型別,再加上動態語言的特性,如果寫**不注意,很容易造成型別不符,自動轉換型別,並且程式不會報錯,造成資料錯誤和不完整。

在php7之後,通過在檔案開頭用 declare(strict_types = 1) 定義強型別檢驗後,當函式傳參型別不符時,將會丟擲錯誤。

開啟型別檢驗之前:

<?php

//declare(strict_types = 1);

function sum(int $a, int $b)

$a = '1';

$b = '2';

echo sum($a, $b);

[running] php "/users/why/desktop/php/why.php"

3[done] exited with code=0 in 0.3 seconds

開啟型別檢驗之後:

<?php

declare(strict_types = 1);

function sum(int $a, int $b)

$a = '1';

$b = '2';

echo sum($a, $b)

[running] php "/users/why/desktop/php/why.php"

php fatal error: uncaught typeerror: argument 1 passed to sum() must be of the type integer, string given, called in /users/why/desktop/php/why.php on line 9 and defined in /users/why/desktop/php/why.php:4

stack trace:

#0 /users/why/desktop/php/why.php(9): sum('1', '2')

#1 thrown in /users/why/desktop/php/why.php on line 4

[done] exited with code=255 in 0.325 seconds

php wecp 啟動 php7開啟強型別模式

我們知道php是一種弱型別的程式語言,但是php7已經有所改變,可以支援 開啟強型別模式了,好訊息。php7開啟強型別模式,這是php7相比之前版本效率提高的部分原因,先來看兩個例子 首先function sum a,b float return a b var dump sum 1,2 var d...

Leetcode 420 強密碼檢驗器

分析 是一道數學題。連續字串刪除和插入的方式代價高,盡量使用替換。如何理解呢?對於任意 3的連續串長度為s,所需要的替換次數為s 3,而使用插入 s 1 2次操作和刪除s 2次。插入和刪除相結合還是比替換要慢。對於長度 3的連續串,每個修改次數為s 3,s為連續串的長度,記錄總的連續串修改次數為n ...

struts型別轉換檢驗

有2種輸出,全域性的資源檔案和區域性的資源檔案 全域性 首先在struts.xml裡面的配置。其次在src目錄下建資源檔案message.properties,然後再資源檔案裡寫 區域性 對誰進行轉換,就在該包下建立乙個資源檔案,其名字必須是 進行轉換的類的名字.properties,比如 註冊賬號...