| 8.2.0 | lcfirst | Case conversion no longer depends on the locale set with
setlocale. Only ASCII characters will be converted. |
| | str_ireplace | Case folding no longer depends on the locale set with
setlocale. Only ASCII case folding will be done.
Non-ASCII bytes will be compared by their byte value. |
| | str_split | If string is empty an empty array is now returned.
Previously an array containing a single empty string was returned. |
| | strcasecmp | This function is no longer guaranteed to return
strlen($string1) - strlen($string2) when string lengths
are not equal, but may now return -1 or
1 instead. |
| | strcmp | This function is no longer guaranteed to return
strlen($string1) - strlen($string2) when string lengths
are not equal, but may now return -1 or
1 instead. |
| | stripos | Case folding no longer depends on the locale set with
setlocale. Only ASCII case folding will be done.
Non-ASCII bytes will be compared by their byte value. |
| | stristr | Case folding no longer depends on the locale set with
setlocale. Only ASCII case folding will be done.
Non-ASCII bytes will be compared by their byte value. |
| | strnatcasecmp | This function is no longer guaranteed to return
strlen($string1) - strlen($string2) when string lengths
are not equal, but may now return -1 or
1 instead. |
| | strnatcmp | This function is no longer guaranteed to return
strlen($string1) - strlen($string2) when string lengths
are not equal, but may now return -1 or
1 instead. |
| | strncasecmp | This function is no longer guaranteed to return
strlen($string1) - strlen($string2) when string lengths
are not equal, but may now return -1 or
1 instead. |
| | strncmp | This function is no longer guaranteed to return
strlen($string1) - strlen($string2) when string lengths
are not equal, but may now return -1 or
1 instead. |
| | strripos | Case folding no longer depends on the locale set with
setlocale. Only ASCII case folding will be done.
Non-ASCII bytes will be compared by their byte value. |
| | strtolower | Case conversion no longer depends on the locale set with
setlocale. Only ASCII characters will be converted. |
| | strtoupper | Case conversion no longer depends on the locale set with
setlocale. Only ASCII characters will be converted. |
| | substr_compare | This function is no longer guaranteed to return
strlen($string1) - strlen($string2) when string lengths
are not equal, but may now return -1 or
1 instead. |
| | ucfirst | Case conversion no longer depends on the locale set with
setlocale. Only ASCII characters will be converted. |
| | ucwords | Case conversion no longer depends on the locale set with
setlocale. Only ASCII characters will be converted. |
| | utf8_decode | This function has been deprecated. |
| | utf8_encode | This function has been deprecated. |
| 8.0.0 | chunk_split | Now throws a ValueError if length
is less than 1.
Previously, an E_WARNING was raised and false was returned. |
| | convert_cyr_string | Removed this function. |
| | convert_uuencode | Prior to this version, trying to convert an empty string returned false
for no particular reason. |
| | count_chars | Prior to this version, the function returned false on failure. |
| | crypt | The salt is no longer optional. |
| | explode | explode will now throw ValueError
when separator parameter is given an empty string
("").
Previously, explode returned false instead. |
| | fprintf | This function no longer returns false on failure. |
| | fprintf | Throws a ValueError if the number of arguments is zero;
previously this function emitted an E_WARNING instead. |
| | fprintf | Throws a ValueError if [width] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | fprintf | Throws a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | fprintf | Throws an ArgumentCountError when fewer arguments are given than required;
previously this function emitted an E_WARNING instead. |
| | hebrevc | Removed this function. |
| | html_entity_decode | encoding is nullable now. |
| | htmlentities | encoding is nullable now. |
| | implode | Passing the separator after the array
is no longer supported. |
| | levenshtein | Prior to this version, levenshtein had to be called
with either two or five arguments. |
| | levenshtein | Prior to this version, levenshtein would return -1
if one of the argument strings is longer than 255 characters. |
| | metaphone | The function returned false on failure. |
| | money_format | Removed this function. |
| | number_format | Prior to this version, number_format accepted
one, two, or four parameters (but not three). |
| | parse_str | result is no longer optional. |
| | printf | This function no longer returns false on failure. |
| | printf | Throws a ValueError if the number of arguments is zero;
previously this function emitted an E_WARNING instead. |
| | printf | Throws a ValueError if [width] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | printf | Throws a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | printf | Throws an ArgumentCountError when fewer arguments are given than required;
previously this function emitted an E_WARNING instead. |
| | quotemeta | Returns an empty string, instead of false, when string
is empty. |
| | soundex | Prior to this version, calling the function with an empty string returned false
for no particular reason. |
| | sprintf | This function no longer returns false on failure. |
| | sprintf | Throws a ValueError if the number of arguments is zero;
previously this function emitted an E_WARNING instead. |
| | sprintf | Throws a ValueError if [width] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | sprintf | Throws a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | sprintf | Throws an ArgumentCountError when fewer arguments are given than required;
previously this function emitted an E_WARNING instead. |
| | str_pad | Now throws a ValueError if padding is needed and pad_string
is empty or pad_type is invalid.
Previously, an E_WARNING was raised and null was returned. |
| | str_repeat | Now throws a ValueError if times
is less than 0.
Previously, an E_WARNING was raised and null was returned. |
| | str_split | If length is less than 1,
a ValueError will be thrown now;
previously, an error of level E_WARNING
has been raised instead, and the function returned false. |
| | str_word_count | Now throws a ValueError if format
is invalid.
Previously, an E_WARNING was raised and false was returned. |
| | str_word_count | characters is nullable now. |
| | strcspn | length is nullable now. |
| | strip_tags | allowed_tags is nullable now. |
| | stripos | needle now accepts an empty string. |
| | stripos | Passing an int as needle is no longer supported. |
| | stristr | needle now accepts an empty string. |
| | stristr | Passing an int as needle is no longer supported. |
| | strpbrk | Now throws a ValueError if characters
is empty.
Previously, an E_WARNING was raised and false was returned. |
| | strpos | needle now accepts an empty string. |
| | strpos | Passing an int as needle is no longer supported. |
| | strrchr | needle now accepts an empty string. |
| | strrchr | Passing an int as needle is no longer supported. |
| | strripos | needle now accepts an empty string. |
| | strripos | Passing an int as needle is no longer supported. |
| | strrpos | needle now accepts an empty string. |
| | strrpos | Passing an int as needle is no longer supported. |
| | strspn | length is nullable now. |
| | strstr | needle now accepts an empty string. |
| | strstr | Passing an int as needle is no longer supported. |
| | substr | length is nullable now.
When length is explicitly set to null,
the function returns a substring finishing at the end of the string, when it previously returned an empty string. |
| | substr | The function returns an empty string where it previously returned false. |
| | substr_compare | Now throws a ValueError if offset
is out of range or length is negative.
Previously, an E_WARNING was raised and false was returned. |
| | substr_compare | length is nullable now. |
| | substr_count | Now throws a ValueError instead of raising an
E_WARNING and returning false when
needle is empty or offset
or length is out of range. |
| | substr_count | length is nullable now. |
| | substr_replace | length is nullable now. |
| | vfprintf | This function no longer returns false on failure. |
| | vfprintf | Throws a ValueError if the number of arguments is zero;
previously this function emitted an E_WARNING instead. |
| | vfprintf | Throws a ValueError if [width] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | vfprintf | Throw a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | vfprintf | Throws a ValueError when fewer arguments are given than required;
previously this function emitted an E_WARNING instead. |
| | vprintf | This function no longer returns false on failure. |
| | vprintf | Throws a ValueError if the number of arguments is zero;
previously this function emitted an E_WARNING instead. |
| | vprintf | Throws a ValueError if [width] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | vprintf | Throw a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | vprintf | Throws a ValueError when fewer arguments are given than required;
previously this function emitted an E_WARNING instead. |
| | vsprintf | This function no longer returns false on failure. |
| | vsprintf | Throws a ValueError if the number of arguments is zero;
previously this function emitted an E_WARNING instead. |
| | vsprintf | Throws a ValueError if [width] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | vsprintf | Throw a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX;
previously this function emitted an E_WARNING instead. |
| | vsprintf | Throws a ValueError when fewer arguments are given than required;
previously this function emitted an E_WARNING instead. |
| | wordwrap | If break is empty string,
a ValueError is thrown;
previously in this case it emitted an E_WARNING and returned false. |