PHP Conference Japan 2024

变更日志

此扩展的类/函数/方法已进行了以下更改。

版本函数描述
8.4.0str_getcsv现在已弃用依赖于 escape 的默认值。
 str_getcsv如果分隔符、外壳或转义符无效,则现在会抛出 ValueError。这模仿了 fgetcsv 和 fputcsv 的行为。
 strcspn在 PHP 8.4.0 之前,当 characters 为空字符串时,搜索会错误地停止在 string 中的第一个空字节处。
8.3.0number_format添加了对小数的负值的处理。
 str_getcsv如果最后一个字段仅包含未终止的外壳,则返回空字符串而不是包含单个空字节的字符串。
 strrchr添加了 before_needle 参数。
 strtok当未提供 token 时,现在会发出 E_WARNING。
8.2.0lcfirst大小写转换不再依赖于使用 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.0get_html_translation_tableflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 html_entity_decodeflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 htmlentitiesflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 htmlspecialcharsflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 htmlspecialchars_decodeflags 从 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 现在可以为空。
 htmlentitiesencoding 现在可以为空。
 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 现在可以为空。
 strcspnlength 现在可以为空。
 strip_tagsallowed_tags 现在可以为空。
 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 现在可以为空。
 strstrneedle 现在接受空字符串。
 strstr不再支持将 int 作为 needle 传递。
 substrlength 现在可以为空。当 length 显式设置为 null 时,函数返回以字符串结尾的子字符串,而以前返回空字符串。
 substr函数返回空字符串,而以前返回 false。
 substr_comparelength 现在可以为空。
 substr_countlength 现在可以为空。
 substr_replacelength 现在可以为空。
 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_getcsvescape 参数现在将空字符串解释为禁用专有转义机制的信号。以前,空字符串被视为默认参数值。
 strip_tagsallowed_tags 现在可以选择接受数组。
7.3.5substr_compareoffset 现在可以等于 haystack 的长度。
7.3.0stripos将 int 作为 needle 传递已被弃用。
 stristr将 int 作为 needle 传递已被弃用。
 strpos将 int 作为 needle 传递已被弃用。
 strrchr将 int 作为 needle 传递已被弃用。
 strripos将 int 作为 needle 传递已被弃用。
 strrpos将 int 作为 needle 传递已被弃用。
 strstr将 int 作为 needle 传递已被弃用。
7.2.18substr_compareoffset 现在可以等于 haystack 的长度。
7.2.0number_formatnumber_format 已更改为无法返回 -0,以前对于 num 为 -0.01 等情况可能会返回 -0。
 parse_str现在不使用第二个参数使用 parse_str 会发出 E_DEPRECATED 通知。
 utf8_decode此函数已从 XML 扩展移动到 PHP 的核心。在以前的版本中,只有在安装了 XML 扩展时才可用。
 utf8_encode此函数已从 XML 扩展移动到 PHP 的核心。在以前的版本中,只有在安装了 XML 扩展时才可用。
7.1.0str_shuffle内部随机化算法已更改为使用梅森旋转随机数生成器,而不是 libc rand 函数。
 stripos已添加对负偏移量的支持。
 strpos已添加对负偏移量的支持。
 substr_count已添加对负偏移量和长度的支持。length 现在也可以为 0。
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top