DateTime::createFromImmutable() 現在的暫定回傳類型為 static,先前為 DateTime。
DateTimeImmutable::createFromMutable() 現在的暫定回傳類型為 static,先前為 DateTimeImmutable。
相對格式 中的 number
符號不再接受多個正負號,例如 +-2
。
當同時傳遞連線字串和使用者名稱/密碼,且字串必須附加時,ODBC 擴充套件現在會對使用者名稱和密碼進行跳脫字元處理。以前,包含需要跳脫字元的值的使用者值可能會建立格式錯誤的連線字串,或從使用者提供的資料中注入值。跳脫字元規則應與 .NET BCL DbConnectionOptions 的行為相同。
當傳遞連接字串時,PDO_ODBC 擴充功能現在也會對使用者名稱和密碼進行跳脫處理。詳情請參閱ODBC 擴充功能的變更。
如果所有路徑都受到 open_basedir 的限制,glob() 現在會返回一個空的 陣列。之前它會返回 false
。此外,即使只有一部分路徑受到 open_basedir 的限制,現在也會發出警告。
FilesystemIterator::__construct():在 PHP 8.2.0 之前,FilesystemIterator::SKIP_DOTS
常數總是會被設定,而且無法停用。為了維持之前的行為,使用 flags
參數時必須明確設定該常數。 flags
參數的預設值並未修改。
strtolower()、strtoupper()、stristr()、stripos()、strripos()、lcfirst()、ucfirst()、ucwords() 和 str_ireplace() 不再受語系影響。它們現在執行 ASCII 大小寫轉換,如同語系設定為 "C" 一樣。這些函式的在地化版本可在 MBString 擴充功能 中找到。此外,array_change_key_case() 以及使用 SORT_FLAG_CASE
進行排序現在也使用 ASCII 大小寫轉換。
對於空的 字串,str_split() 現在會返回一個空的 陣列。之前它會返回一個包含單個空字串項目的陣列。 mb_str_split() 不受此變更影響,因為它的行為原本就是如此。
在 SORT_REGULAR
旗標下,ksort() 和 krsort() 現在使用標準的 PHP 8 規則進行數字字串比較。
var_export() 不再省略匯出類別的開頭反斜線,也就是說,這些現在是完全限定名稱。
以下方法現在強制執行其簽章
SplFileObject::hasChildren() 現在的暫定返回類型為 false,之前為 bool。
SplFileObject::getChildren() 現在的暫定返回類型為 null,之前為 ?RecursiveIterator。
現在,如果所有路徑都受到 open_basedir 的限制,GlobIterator 會返回一個空的 陣列。先前它會返回 false
。此外,即使只有一部分路徑受到 open_basedir 的限制,現在也會發出警告。