2024 日本 PHP 研討會

更新日誌

此擴充功能的類別/函式/方法已進行下列變更。

版本函式說明
8.4.0str_getcsv依賴 escape 的預設值現已棄用。
 str_getcsv如果 separator、enclosure 或 escape 無效,現在會擲出 ValueError。這模仿了 fgetcsv 和 fputcsv 的行為。
 strcspn在 PHP 8.4.0 之前,當 characters 為空字串時,搜尋會錯誤地在字串中的第一個空位元組停止。
8.3.0number_format新增了對小數負值的處理。
 str_getcsv如果最後一個欄位僅包含未終止的 enclosure,則會傳回空字串,而不是帶有單個空位元組的字串。
 strrchr新增了 before_needle 參數。
 strtok現在在未提供 token 時發出 E_WARNING。
8.2.0lcfirst大小寫轉換不再取決於使用 setlocale 設定的地區設定。只有 ASCII 字元會被轉換。
 str_ireplace大小寫轉換不再依賴於使用 setlocale 設定的語系環境。僅會執行 ASCII 大小寫轉換。非 ASCII 位元組將會根據其位元組值進行比較。
 str_split如果字串為空,現在會返回一個空陣列。先前會返回包含單個空字串的陣列。
 strcasecmp此函式現在返回 -1 或 1,而先前返回負數或正數。
 strcmp此函式現在返回 -1 或 1,而先前返回負數或正數。
 stripos大小寫轉換不再依賴於使用 setlocale 設定的語系環境。僅會執行 ASCII 大小寫轉換。非 ASCII 位元組將會根據其位元組值進行比較。
 stristr大小寫轉換不再依賴於使用 setlocale 設定的語系環境。僅會執行 ASCII 大小寫轉換。非 ASCII 位元組將會根據其位元組值進行比較。
 strnatcasecmp此函式現在返回 -1 或 1,而先前返回負數或正數。
 strnatcmp此函式現在返回 -1 或 1,而先前返回負數或正數。
 strncasecmp此函式現在返回 -1 或 1,而先前返回負數或正數。
 strncmp此函式現在返回 -1 或 1,而先前返回負數或正數。
 strripos大小寫轉換不再依賴於使用 setlocale 設定的語系環境。僅會執行 ASCII 大小寫轉換。非 ASCII 位元組將會根據其位元組值進行比較。
 strtolower大小寫轉換不再取決於使用 setlocale 設定的地區設定。只有 ASCII 字元會被轉換。
 strtoupper大小寫轉換不再取決於使用 setlocale 設定的地區設定。只有 ASCII 字元會被轉換。
 substr_compare此函式現在返回 -1 或 1,而先前返回負數或正數。
 ucfirst大小寫轉換不再取決於使用 setlocale 設定的地區設定。只有 ASCII 字元會被轉換。
 ucwords大小寫轉換不再取決於使用 setlocale 設定的地區設定。只有 ASCII 字元會被轉換。
 utf8_decode此函式已被棄用。
 utf8_encode此函式已被棄用。
8.1.0get_html_translation_table旗標已從 ENT_COMPAT 變更為 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 html_entity_decode旗標已從 ENT_COMPAT 變更為 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 htmlentities旗標已從 ENT_COMPAT 變更為 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 htmlspecialchars旗標已從 ENT_COMPAT 變更為 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 htmlspecialchars_decode旗標已從 ENT_COMPAT 變更為 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
8.0.0convert_uuencode在此版本之前,嘗試轉換空字串會無故返回 false。
 count_chars在此版本之前,函式失敗時會返回 false。
 cryptsalt 參數不再是選用的。
 explode當 separator 參數給定空字串 ("") 時,explode 現在會拋出 ValueError。先前,explode 會返回 false。
 fprintf此函式失敗時不再返回 false。
 fprintf如果引數數量為零,則拋出 ValueError;先前此函式會發出 E_WARNING。
 fprintf如果 [width] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 fprintf如果 [precision] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 fprintf當提供的引數少於所需引數時,拋出 ArgumentCountError;先前此函式會發出 E_WARNING。
 html_entity_decodeencoding 現在可以為 null。
 htmlentitiesencoding 現在可以為 null。
 implode不再支援在陣列後傳遞分隔符號。
 levenshtein在此版本之前,呼叫 levenshtein 必須使用兩個或五個引數。
 levenshtein在此版本之前,如果其中一個引數字串長度超過 255 個字元,levenshtein 會返回 -1。
 metaphone函式失敗時會返回 false。
 number_format在此版本之前,number_format 接受一個、兩個或四個參數(但不接受三個)。
 parse_strresult 不再是選用的。
 printf此函式失敗時不再返回 false。
 printf如果引數數量為零,則拋出 ValueError;先前此函式會發出 E_WARNING。
 printf如果 [width] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 printf如果 [precision] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 printf當提供的引數少於所需引數時,拋出 ArgumentCountError;先前此函式會發出 E_WARNING。
 soundex在此版本之前,使用空字串呼叫函式會無故返回 false。
 sprintf此函式失敗時不再返回 false。
 sprintf如果引數數量為零,則拋出 ValueError;先前此函式會發出 E_WARNING。
 sprintf如果 [width] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 sprintf如果 [precision] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 sprintf當提供的引數少於所需引數時,拋出 ArgumentCountError;先前此函式會發出 E_WARNING。
 str_split如果 length 小於 1,現在會拋出 ValueError;先前會引發 E_WARNING 等級的錯誤,並且函式返回 false。
 str_word_countcharacters 現在可以為 null。
 strcspnlength 現在可以為 null。
 strip_tagsallowed_tags 現在可以為 null。
 striposneedle 現在接受空字串。
 stripos不再支援傳遞 int 作為 needle。
 stristrneedle 現在接受空字串。
 stristr不再支援傳遞 int 作為 needle。
 strposneedle 現在接受空字串。
 strpos不再支援傳遞 int 作為 needle。
 strrchrneedle 現在接受空字串。
 strrchr不再支援傳遞 int 作為 needle。
 strriposneedle 現在接受空字串。
 strripos不再支援傳遞 int 作為 needle。
 strrposneedle 現在接受空字串。
 strrpos不再支援傳遞 int 作為 needle。
 strspnlength 現在可以為 null。
 strstrneedle 現在接受空字串。
 strstr不再支援傳遞 int 作為 needle。
 substrlength 現在可以為 null。當 length 明確設定為 null 時,函式會返回結束於字串結尾的子字串,而先前會返回空字串。
 substr函式現在返回空字串,而先前返回 false。
 substr_comparelength 現在可以為 null。
 substr_countlength 現在可以為 null。
 substr_replacelength 現在可以為 null。
 vfprintf此函式失敗時不再返回 false。
 vfprintf如果引數數量為零,則拋出 ValueError;先前此函式會發出 E_WARNING。
 vfprintf如果 [width] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 vfprintf如果 [precision] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 vfprintf當提供的引數少於所需引數時,拋出 ValueError;先前此函式會發出 E_WARNING。
 vprintf此函式失敗時不再返回 false。
 vprintf如果引數數量為零,則拋出 ValueError;先前此函式會發出 E_WARNING。
 vprintf如果 [width] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 vprintf如果 [precision] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 vprintf當提供的引數少於所需引數時,拋出 ValueError;先前此函式會發出 E_WARNING。
 vsprintf此函式失敗時不再返回 false。
 vsprintf如果引數數量為零,則拋出 ValueError;先前此函式會發出 E_WARNING。
 vsprintf如果 [width] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 vsprintf如果 [precision] 小於零或大於 PHP_INT_MAX,則拋出 ValueError;先前此函式會發出 E_WARNING。
 vsprintf當提供的引數少於所需引數時,拋出 ValueError;先前此函式會發出 E_WARNING。
 wordwrap如果 break 為空字串,則拋出 ValueError;先前在此情況下,它會發出 E_WARNING 並返回 false。
7.4.0chr該函式不再靜默地接受不支援的程式碼點,並將其轉換為 0。
 implode在陣列後傳遞分隔符號(即使用舊版簽章)已被棄用。
 money_format此函式已被棄用。請改用 NumberFormatter::formatCurrency。
 str_getcsv現在,`escape` 參數會將空字串解讀為停用專有跳脫機制的訊號。以前,空字串會被視為預設參數值。
 strip_tags現在 `allowed_tags` 也接受陣列作為參數。
7.3.5substr_compare現在 `offset` 可以等於 `haystack` 的長度。
7.3.0stripos傳遞整數作為 `needle` 的用法已被棄用。
 stristr傳遞整數作為 `needle` 的用法已被棄用。
 strpos傳遞整數作為 `needle` 的用法已被棄用。
 strrchr傳遞整數作為 `needle` 的用法已被棄用。
 strripos傳遞整數作為 `needle` 的用法已被棄用。
 strrpos傳遞整數作為 `needle` 的用法已被棄用。
 strstr傳遞整數作為 `needle` 的用法已被棄用。
7.2.18substr_compare現在 `offset` 可以等於 `haystack` 的長度。
7.2.0number_format`number_format` 已變更為無法返回 -0,以前在 `num` 為 -0.01 等情況下可能會返回 -0。
 parse_str不使用第二個參數的情況下使用 `parse_str` 現在會發出 E_DEPRECATED 通知。
 utf8_decode此函式已從 XML 擴充套件移至 PHP 核心。在以前的版本中,只有安裝了 XML 擴充套件才能使用它。
 utf8_encode此函式已從 XML 擴充套件移至 PHP 核心。在以前的版本中,只有安裝了 XML 擴充套件才能使用它。
7.1.0`str_shuffle`內部隨機化演算法已更改為使用梅森旋轉演算法(Mersenne Twister Random Number Generator),而不是 libc 的 `rand` 函式。
 stripos已新增對負偏移量的支援。
 strpos已新增對負偏移量的支援。
 substr_count已新增對負偏移量和長度的支援。現在 `length` 也可以為 0。
新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top