如果沒有提供對 PHP 7.4 之前版本的支援,則應該只實作新的方法,或者兩者都應該實作。
null
傳遞給內建函式的非空參數內建函式的純量類型預設為可空。此行為已被棄用,以便與使用者自訂函式的行為一致,在使用者自訂函式中,純量類型需要明確標記為可空。
<?php
var_dump(str_contains("foobar", null));
// 已棄用:傳遞 null 至字串型別的參數 #2 ($needle) 已被棄用
// 已被棄用
?>
導致精度損失的隱含 浮點數 到 整數 的轉換現已棄用。這會影響 陣列 鍵值、強制模式下的 整數 類型宣告,以及對 整數 進行運算的運算子。
<?php
$a = [];
$a[15.5]; // 已棄用,因為鍵值會失去 0.5 的部分
$a[15.0]; // 可以,因為 15.0 == 15
?>
直接在 trait 上呼叫 靜態 方法或存取 靜態 屬性已被棄用。靜態方法和屬性只能透過使用該 trait 的類別來存取。
date_sunrise() 和 date_sunset() 已被棄用,建議使用 date_sun_info()。
strptime() 已被棄用。請改用 date_parse_from-format()(用於與語系無關的解析)或 IntlDateFormatter::parse()(用於與語系相關的解析)。
strftime() 和 gmstrftime() 已被棄用。請改用 date()(用於與語系無關的格式化)或 IntlDateFormatter::format()(用於與語系相關的格式化)。
imagepolygon()、imageopenpolygon() 和 imagefilledpolygon() 的 num_points
參數已被棄用。
mhash()、mhash_keygen_s2k()、mhash_count()、mhash_get_block_size() 和 mhash_get_hash_name() 已被棄用。請改用 hash_*()
函式。
NIL
常數已被棄用。請改用 0
。
使用 布林值 參數呼叫 IntlCalendar::roll() 已被棄用。請分別使用 1
和 -1
取代 true
和 false
。
不帶任何參數呼叫 mb_check_encoding() 已被棄用。
屬性 mysqli_driver::$driver_version 已被棄用。它毫無意義且過時,請改用 PHP_VERSION_ID
。
使用 mysqli
參數呼叫 mysqli::get_client_info() 或 mysqli_get_client_info() 已被棄用。請在不帶任何參數的情況下呼叫 mysqli_get_client_info() 以取得用戶端函式庫的版本資訊。
方法 mysqli::init() 已被棄用。請將對 parent::init() 的呼叫替換為 parent::__construct()。
INI 指令 oci8.old_oci_close_semantics 已被棄用。
odbc_result_all() 已被棄用。
擷取模式 PDO::FETCH_SERIALIZE
已被棄用。
未將連線參數傳遞給所有 pgsql_*()
函式已被棄用。
SoapClient::__construct() 的 ssl_method
選項已被棄用,建議改用 SSL 資料流上下文選項。
在 物件 上呼叫 key()、current()、next()、prev()、reset() 或 end() 已被棄用。請先使用 get_mangled_object_vars() 將 物件 轉換為 陣列,或者使用實作 Iterator 的類別所提供的方法,例如 ArrayIterator。
INI 指令 auto_detect_line_endings 已被棄用。如有必要,請手動處理 "\r"
換行符號。
常數 FILE_BINARY
和 FILE_TEXT
已被棄用。它們從未生效過。