此扩展的类/函数/方法已进行了以下更改。
| 版本 | 函数 | 描述 |
|---|---|---|
| 8.4.0 | str_getcsv | 现在已弃用依赖于 escape 的默认值。 |
| str_getcsv | 如果分隔符、外壳或转义符无效,则现在会抛出 ValueError。这模仿了 fgetcsv 和 fputcsv 的行为。 | |
| strcspn | 在 PHP 8.4.0 之前,当 characters 为空字符串时,搜索会错误地停止在 string 中的第一个空字节处。 | |
| 8.3.0 | number_format | 添加了对小数的负值的处理。 |
| str_getcsv | 如果最后一个字段仅包含未终止的外壳,则返回空字符串而不是包含单个空字节的字符串。 | |
| strrchr | 添加了 before_needle 参数。 | |
| strtok | 当未提供 token 时,现在会发出 E_WARNING。 | |
| 8.2.0 | lcfirst | 大小写转换不再依赖于使用 setlocale 设置的区域设置。仅 ASCII 字符将被转换。 |
| str_ireplace | 大小写折叠不再依赖于使用 setlocale 设置的区域设置。只会进行 ASCII 大小写折叠。非 ASCII 字节将按其字节值进行比较。 | |
| str_split | 如果 string 为空,则现在返回空数组。以前返回包含单个空字符串的数组。 | |
| 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.0 | get_html_translation_table | flags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。 |
| html_entity_decode | flags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。 | |
| htmlentities | flags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。 | |
| htmlspecialchars | flags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。 | |
| htmlspecialchars_decode | flags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。 | |
| 8.0.0 | convert_uuencode | 在此版本之前,尝试转换空字符串会无缘无故地返回 false。 |
| count_chars | 在此版本之前,函数在失败时返回 false。 | |
| crypt | salt 不再是可选的。 | |
| 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_decode | encoding 现在可以为空。 | |
| htmlentities | encoding 现在可以为空。 | |
| implode | 不再支持在数组之后传递分隔符。 | |
| levenshtein | 在此版本之前,必须使用两个或五个参数调用 levenshtein。 | |
| levenshtein | 在此版本之前,如果其中一个参数字符串的长度超过 255 个字符,则 levenshtein 会返回 -1。 | |
| metaphone | 函数在失败时返回 false。 | |
| number_format | 在此版本之前,number_format 接受一个、两个或四个参数(但不接受三个)。 | |
| parse_str | result 不再是可选的。 | |
| 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_count | characters 现在可以为空。 | |
| strcspn | length 现在可以为空。 | |
| strip_tags | allowed_tags 现在可以为空。 | |
| stripos | needle 现在接受空字符串。 | |
| stripos | 不再支持将 int 作为 needle 传递。 | |
| stristr | needle 现在接受空字符串。 | |
| stristr | 不再支持将 int 作为 needle 传递。 | |
| strpos | needle 现在接受空字符串。 | |
| strpos | 不再支持将 int 作为 needle 传递。 | |
| strrchr | needle 现在接受空字符串。 | |
| strrchr | 不再支持将 int 作为 needle 传递。 | |
| strripos | needle 现在接受空字符串。 | |
| strripos | 不再支持将 int 作为 needle 传递。 | |
| strrpos | needle 现在接受空字符串。 | |
| strrpos | 不再支持将 int 作为 needle 传递。 | |
| strspn | length 现在可以为空。 | |
| strstr | needle 现在接受空字符串。 | |
| strstr | 不再支持将 int 作为 needle 传递。 | |
| substr | length 现在可以为空。当 length 显式设置为 null 时,函数返回以字符串结尾的子字符串,而以前返回空字符串。 | |
| substr | 函数返回空字符串,而以前返回 false。 | |
| substr_compare | length 现在可以为空。 | |
| substr_count | length 现在可以为空。 | |
| substr_replace | length 现在可以为空。 | |
| 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.0 | chr | 该函数不再静默地接受不受支持的代码点,并将这些代码点转换为 0。 |
| implode | 在数组之后传递分隔符(即使用旧签名)已被弃用。 | |
| money_format | 此函数已被弃用。请改用 NumberFormatter::formatCurrency。 | |
| str_getcsv | escape 参数现在将空字符串解释为禁用专有转义机制的信号。以前,空字符串被视为默认参数值。 | |
| strip_tags | allowed_tags 现在可以选择接受数组。 | |
| 7.3.5 | substr_compare | offset 现在可以等于 haystack 的长度。 |
| 7.3.0 | stripos | 将 int 作为 needle 传递已被弃用。 |
| stristr | 将 int 作为 needle 传递已被弃用。 | |
| strpos | 将 int 作为 needle 传递已被弃用。 | |
| strrchr | 将 int 作为 needle 传递已被弃用。 | |
| strripos | 将 int 作为 needle 传递已被弃用。 | |
| strrpos | 将 int 作为 needle 传递已被弃用。 | |
| strstr | 将 int 作为 needle 传递已被弃用。 | |
| 7.2.18 | substr_compare | offset 现在可以等于 haystack 的长度。 |
| 7.2.0 | number_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 | 内部随机化算法已更改为使用梅森旋转随机数生成器,而不是 libc rand 函数。 |
| stripos | 已添加对负偏移量的支持。 | |
| strpos | 已添加对负偏移量的支持。 | |
| substr_count | 已添加对负偏移量和长度的支持。length 现在也可以为 0。 |