Список изменений

Следующие изменения были произведены с классами/функциями/методами данного модуля.

VersionFunctionDescription
8.3.0strrchrДобавлен параметр before_needle.
8.2.0lcfirstПреобразование регистра больше не зависит от локали, установленной с помощью функции setlocale. Будут преобразованы только символы ASCII.
 str_ireplaceПреобразование регистра больше не зависит от локали, установленной с помощью функции setlocale. Будут преобразованы только символы ASCII. Байты не ASCII-кодировке будут сравниваться по значению байта.
 str_splitЕсли параметр string не задан, теперь возвращается пустой массив (array). Ранее возвращался массив (array), содержащий одну пустую строку
 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_encodeThis function has been deprecated.
8.1.0get_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.0convert_uuencodeДо этой версии при попытке преобразовать пустую строку возвращалось false без особой причины.
 count_charsДо этой версии функция возвращала false в случае возникновения ошибки.
 cryptsalt больше не является необязательным.
 explodeexplode теперь выбрасывает TypeError, если параметр separator является пустой строкой (""). Ранее вместо исключения explode возвращала false.
 fprintfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 fprintfФункция больше не возвращает false в случае возникновения ошибки.
 fprintfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 fprintfВыбрасывает исключение ValueError, если количество аргументов равно нулю; ранее функция выдавала ошибку уровня E_WARNING.
 fprintfВыбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; ранее функция выдавала ошибку уровня E_WARNING.
 html_entity_decodeencoding теперь допускает значение null.
 htmlentitiesencoding теперь допускает значение null.
 implodeПередача separator после array больше не поддерживается.
 levenshteinДо этой версии levenshtein нужно было вызывать с двумя или пятью аргументами.
 levenshteinДо этой версии, levenshtein возвращала значение -1, если одна из строк аргумента более 255 символов.
 metaphoneФункция возвращала false в случае возникновения ошибки.
 number_formatДо этой версии функция number_format принимала один, два или четыре параметра (но не три).
 parse_strresult больше не является необязательным.
 printfВыбрасывает исключение ValueError, если количество аргументов равно нулю; ранее функция выдавала ошибку уровня E_WARNING.
 printfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 printfВыбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; ранее функция выдавала ошибку уровня E_WARNING.
 printfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 printfФункция больше не возвращает false в случае возникновения ошибки.
 soundexДо этой версии при вызове функции с пустой строкой возвращалось false без особой причины.
 sprintfВыбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; ранее функция выдавала ошибку уровня E_WARNING.
 sprintfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 sprintfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 sprintfВыбрасывает исключение ValueError, если количество аргументов равно нулю; ранее функция выдавала ошибку уровня E_WARNING.
 sprintfФункция больше не возвращает false в случае возникновения ошибки.
 str_splitТеперь если параметр length меньше 1, будет выброшена ошибка ValueError; ранее, вместо этого выдавалась ошибка уровня E_WARNING, а функция возвращала false.
 str_word_countcharacters теперь допускает значение null.
 strcspnlength теперь допускает значение null.
 strip_tagsallowed_tags теперь допускает значение null.
 striposПараметр needle теперь допускает пустую строку.
 striposПередача целого числа (int) в needle больше не поддерживается.
 stristrПередача целого числа (int) в needle больше не поддерживается.
 strposПараметр needle теперь допускает пустую строку.
 strposПередача целого числа (int) в needle больше не поддерживается.
 strrchrПараметр needle теперь допускает пустую строку.
 strrchrПередача целого числа (int) в needle больше не поддерживается.
 strriposПередача целого числа (int) в needle больше не поддерживается.
 strriposПараметр needle теперь допускает пустую строку.
 strrposПередача целого числа (int) в needle больше не поддерживается.
 strrposПараметр needle теперь допускает пустую строку.
 strspnlength теперь допускает значение null.
 strstrПередача целого числа (int) в needle больше не поддерживается.
 strstrПараметр needle теперь допускает пустую строку.
 substrФункция возвращает пустую строку там, где раньше возвращала false.
 substrПараметр length теперь допускает значение null. Если значение параметра length явно задано как null, функция возвращает подстроку, заканчивающуюся в конце строки; ранее возвращалась пустая строка.
 substr_comparelength теперь допускает значение null.
 substr_countlength теперь допускает значение null.
 substr_replacelength теперь допускает значение null.
 vfprintfФункция больше не возвращает false в случае возникновения ошибки.
 vfprintfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 vfprintfВыбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; ранее функция выдавала ошибку уровня E_WARNING.
 vfprintfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 vfprintfВыбрасывает исключение ValueError, если количество аргументов равно нулю; ранее функция выдавала ошибку уровня E_WARNING.
 vprintfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 vprintfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 vprintfВыбрасывает исключение ValueError, если количество аргументов равно нулю; ранее функция выдавала ошибку уровня E_WARNING.
 vprintfФункция больше не возвращает false в случае возникновения ошибки.
 vprintfВыбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; ранее функция выдавала ошибку уровня E_WARNING.
 vsprintfФункция больше не возвращает false в случае возникновения ошибки.
 vsprintfВыбрасывает исключение ValueError, если количество аргументов равно нулю; ранее функция выдавала ошибку уровня E_WARNING.
 vsprintfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 vsprintfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; ранее функция выдавала ошибку уровня E_WARNING.
 vsprintfВыбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; ранее функция выдавала ошибку уровня E_WARNING.
7.4.0chrФункция больше не принимает неподдерживаемые значения codepoint и преобразует их в 0.
 implodeПередача separator после array (т.е. использование недокументированного порядка параметров) устарела.
 money_formatФункция устарела. Вместо неё используйте NumberFormatter::formatCurrency.
 str_getcsvТеперь пустой параметр escape будет интерпретироваться как требование отключения проприетарного механизма экранирования. Ранее пустая строка обозначала использование символа экранирования по умолчанию.
 strip_tagsallowed_tags теперь альтернативно принимает массив (array).
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.18, 7.3.5substr_compareoffset теперь может быть равным haystack.
7.2.0number_formatnumber_format была изменена, чтобы не возвращать -0, ранее -0 могло быть возвращено в случаях, когда num был -0.01.
 parse_strИспользование parse_str без второго параметра будет вызывать ошибку уровня E_DEPRECATED.
 utf8_decodeФункция была перенесена из модуля XML в ядро PHP. В предыдущих версиях она была доступна только при установленном модуле XML.
 utf8_encodeФункция была перенесена из модуля XML в ядро PHP. В предыдущих версиях она была доступна только при установленном модуле XML.
7.1.0str_shuffleВнутренний алгоритм получения случайных чисел изменён с функции rand библиотеки libc на генератор на базе Вихря Мерсена.
 striposДобавлена поддержка отрицательных значений offset.
 strposДобавлена поддержка отрицательных значений offset.
 substr_countДобавлена поддержка отрицательных значений offset и length. length теперь также может быть 0.