International PHP Conference Berlin 2025

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

В классы, функции и методы модуля внесли следующие изменения.

VersionFunctionDescription
8.4.0str_getcsvВызов функции без явной передачи значения в параметр escape устарел.
 str_getcsvФункция теперь подражает поведению функций fgetcsv и fputcsv и выбрасывает ошибку ValueError, если в параметры separator, enclosure или escape передали недопустимое значение.
 strcspnДо PHP 8.4.0 при передаче в параметр characters пустой строки поиск ошибочно останавливался на первом NUL-байте в аргументе string.
8.3.0strrchrДобавлен параметр before_needle.
 strtokФункция теперь выдаёт ошибку уровня E_WARNING, когда параметр token не указали.
8.2.0lcfirstПриведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII.
 str_ireplaceПриведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII. Байты, которые не относятся к кодировке ASCII, сравнятся по значению байта.
 str_splitФункция теперь возвращает пустой массив (array), если параметр string не указали; раньше возвращался массив (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_encodeФункция устарела.
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, если возникала ошибка.
 cryptПараметр salt больше необязателен.
 explodeТеперь функция explode выбрасывает исключение TypeError, если разделитель separator — пустая строка "". Раньше функция explode вместо исключения возвращала false.
 fprintfФункция больше не возвращает false, если возникла ошибка.
 fprintfВыбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
 fprintfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
 fprintfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
 fprintfВыбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; раньше функция выдавала ошибку уровня E_WARNING.
 html_entity_decodeТеперь параметр encoding принимает значение null.
 htmlentitiesПараметр encoding теперь принимает значение null.
 implodeФункция больше не поддерживает передачу разделителя separator после массива array.
 levenshteinДо этой версии levenshtein нужно было вызывать с двумя или пятью аргументами.
 levenshteinДо этой версии, levenshtein возвращала значение -1, если одна из строк аргумента более 255 символов.
 metaphoneФункция возвращала false в случае возникновения ошибки.
 number_formatДо этой версии функция number_format принимала один, два или четыре параметр, но не три.
 parse_strresult больше не является необязательным.
 printfФункция больше не возвращает false, если возникла ошибка.
 printfВыбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
 printfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
 printfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
 printfВыбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; раньше функция выдавала ошибку уровня E_WARNING.
 soundexДо этой версии при вызове функции с пустой строкой возвращалось false без особой причины.
 sprintfФункция больше не возвращает false, если возникла ошибка.
 sprintfВыбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
 sprintfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
 sprintfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
 sprintfВыбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; раньше функция выдавала ошибку уровня E_WARNING.
 str_splitФункция теперь выбросит ошибку ValueError, если значение аргумента length окажется меньше 1; раньше вместо этого функция вызывала ошибку уровня E_WARNING и возвращала false.
 str_word_countПараметр characters теперь принимает значение null.
 strcspnПараметр length теперь принимает значение null.
 strip_tagsПараметр allowed_tags теперь принимает значение null.
 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 теперь принимает значение null.
 strstrПараметр needle теперь разрешает пустую строку.
 strstrФункция больше не поддерживает передачу целого числа (int) в параметр needle.
 substrПараметр length теперь принимает значение null. Если значение параметра length явно задали как null, функция возвращает подстроку, которая заканчивается в конце строки; раньше возвращалась пустая строка.
 substrФункция возвращает пустую строку там, где раньше возвращала false.
 substr_compareПараметр length теперь принимает значение null.
 substr_countlength теперь допускает значение null.
 substr_replacelength теперь допускает значение null.
 vfprintfФункция больше не возвращает false, если возникла ошибка.
 vfprintfВыбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
 vfprintfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
 vfprintfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
 vfprintfВыбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; раньше функция выдавала ошибку уровня E_WARNING.
 vprintfФункция больше не возвращает false, если возникла ошибка.
 vprintfВыбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
 vprintfВыбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
 vprintfВыбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
 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.
 wordwrapФункция выбросит исключение ValueError, если параметр break окажется пустой строкой; раньше выдавалась ошибка уровня E_WARNING и возвращалось значение false.
7.4.0chrФункция больше не принимает без уведомления неподдерживаемые кодовые точки codepoint и приводит их к 0.
 implodeПередача разделителя separator после массива array, т. е. сигнатура, которая досталась в наследство, устарела.
 money_formatФункция устарела. Вместо неё используйте NumberFormatter::formatCurrency.
 str_getcsvФункция теперь интерпретирует пустой параметр escape как требование отключить внутренний механизм экранирования. Раньше пустую строку функция рассматривала как значение по умолчанию для параметра.
 strip_tagsПараметр allowed_tags теперь как альтернативу принимает массив (array).
7.3.5substr_compareПараметр offset теперь может быть равен параметру 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_compareПараметр offset теперь может быть равен параметру haystack.
7.2.0number_formatФункцию number_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.
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top