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

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

VersionFunctionDescription
7.4.0array_mergeФункция теперь может быть вызвана без каких-либо параметров. Ранее требовался хотя бы один параметр.
 array_merge_recursiveФункция теперь может быть вызвана без каких-либо параметров. Ранее требовался хотя бы один параметр.
 fgetcsvТеперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.
 fputcsvТеперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.
 idn_to_asciiТеперь значение по умолчанию variant изменено на INTL_IDNA_VARIANT_UTS46 вместо устаревшей константы INTL_IDNA_VARIANT_2003.
 idn_to_utf8Теперь значение по умолчанию variant изменено на INTL_IDNA_VARIANT_UTS46 вместо устаревшей константы INTL_IDNA_VARIANT_2003.
 imagecropautoThe default value of mode has been changed to IMG_CROP_AUTO. Formerly, the default value has been -1 which corresponds to IMG_CROP_DEFAULT, but passing -1 is now deprecated.
 imagecropautoThe behavior of imagecropauto() in the bundled libgd has been synced with that of system libgd: IMG_CROP_DEFAULT no longer falls back to IMG_CROP_SIDES and threshold-cropping now uses the same algorithm as system libgd.
 imagefilterДобавлена поддежка рассеивания (IMG_FILTER_SCATTER).
 str_getcsvТеперь пустой параметр escape будет интерпретироваться как требование отключения проприетарного механизма экранирования. Ранее пустая строка обозначала использование символа экранирования по умолчанию.
 SplFileObject::fgetcsvТеперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.
 SplFileObject::fputcsvТеперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.
 SplFileObject::getCsvControlВ качестве символа экранирования можно использовать пустую строку.
 SplFileObject::setCsvControlТеперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.
 SQLite3Stmt::bindParamПараметр sql_param теперь поддерживает нотацию @param.
 SQLite3Stmt::bindValueПараметр sql_param теперь поддерживает нотацию @param.
7.3.0apache_request_headersЭта функция стала доступна в SAPI FPM.
 array_pushТеперь эта функция может быть вызвана с одним параметром. Ранее требовалось минимум два параметра.
 array_unshiftТеперь эта функция может быть вызвана с одним параметром. Ранее требовалось минимум два параметра.
 bcmulТеперь bcmul возвращает числа с заданной точностью. Раньше завершающие нули в дробной части числа отбрасывались.
 bcpowТеперь bcpow возвращает числа с заданной точностью. Раньше завершающие нули в дробной части числа отбрасывались.
 bcscalebcscale теперь может быть использована для получения текущего масштаба; при установке нового значения, возвратит старое значение масштаба. Раньше scale был обязательным, и bcscale всегда возвращал TRUE.
 compactcompact теперь выдает ошибку уровня E_NOTICE, если заданная строка связана с удаленной переменной. Ранее такие строки пропускались без всякого уведомления.
 defineПараметр case_insensitive объявлен устаревшим и будет удален в версии 8.0.0.
 ftp_fgetТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_fputТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_getТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_nb_fgetТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_nb_fputТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_nb_getТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_nb_putТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_putТеперь параметр mode опционален. Раньше он был обязательным.
 getallheadersЭта функция стала доступна в SAPI FPM.
 is_countableДобавлена функция is_countable.
 json_decodeДобавлена константа JSON_THROW_ON_ERROR для параметра options.
 json_encodeДобавлена константа JSON_THROW_ON_ERROR для параметра options.
 password_hashДобавлена поддержка алгоритма хеширования паролей Argon2id с помощью PASSWORD_ARGON2ID.
 preg_quoteСимвол # теперь экранируется
 session_get_cookie_paramsДобавлен элемент "samesite" в возвращаемый массив.
 session_set_cookie_paramsДобавлена альтернативная подпись, поддерживающая массив опций options. Эта подпись поддерживает также настройку cookie-атрибута SameSite.
 setcookieДобавлена альтернативная подпись, поддерживающая массив опций options. Эта подпись поддерживает также настройку cookie-атрибута SameSite.
 setrawcookieДобавлена альтернативная подпись, поддерживающая массив опций options. Эта подпись поддерживает также настройку cookie-атрибута SameSite.
 xml_set_external_entity_ref_handlerВозвращаемое значение handler теперь также учитывается, если расширение не собрано с библиотекой libxml. Раньше возвращаемое значение игнорировалось, а разбор никогда не останавливался.
7.3ldap_addДобавлена поддержка параметра serverctrls
 ldap_compareДобавлена поддержка параметра serverctrls
 ldap_deleteДобавлена поддержка параметра serverctrls
 ldap_exopДобавлена поддержка serverctrls
 ldap_exop_passwdДобавлена поддержка параметра serverctrls
 ldap_listДобавлена поддержка параметра serverctrls
 ldap_mod_addДобавлена поддержка параметра serverctrls
 ldap_mod_delДобавлена поддержка параметра serverctrls
 ldap_mod_replaceДобавлена поддержка параметра serverctrls
 ldap_modify_batchДобавлена поддержка параметра serverctrls
 ldap_parse_resultДобавлена поддержка параметра serverctrls
 ldap_readДобавлена поддержка параметра serverctrls
 ldap_renameДобавлена поддержка параметра serverctrls
 ldap_searchДобавлена поддержка параметра serverctrls
7.2.19, 7.3.6SplFileObject::__toStringИзменен псевдоним с SplFileObject::current на SplFileObject::fgets.
7.2.18, 7.3.5substr_compareoffset теперь может быть равным main_str.
7.2.0array_uniqueЕсли sort_flags равен SORT_STRING, ранее массив array копировался, а не уникальные элементы удалялись (сохраняя значения цифровых индексов), но теперь создается новый массив путем добавления уникальных элементов. Это может привести к различным числовым индексам.
 assertИспользование строк в параметре assertion объявлено устаревшим и будет приводить к ошибкам уровня E_DEPRECATED в случае, когда и assert.active и zend.assertions установлены в значение 1.
 bcmoddividend и divisor больше не обрезаются до целого, так что теперь поведение bcmod соответствует fmod, а не оператору %.
 bcmodДобавлен параметр scale.
 countcount теперь будет выдавать предупреждение о некорректных исчисляемых типов, переданных в параметр array_or_countable.
 date_parse_from_formatЭлемент zone возвращаемого массива отображает теперь секунды вместо минут, а его знак инвертируется. Например, -120 теперь будет 7200.
 exif_read_dataПараметр filename переименован в stream и может принимать как локальный путь к файлу, так и потоковый ресурс.
 exif_read_dataДобавлена поддержка следующих форматов EXIF: Samsung DJI Panasonic Sony Pentax Minolta Sigma/Foveon AGFA Kyocera Ricoh Epson
 exif_thumbnailПараметр filename переименован в stream и может принимать как локальный путь к файлу, так и потоковый ресурс.
 get_classNULL больше не является значением по умолчанию для object и не является допустимым значением этого параметра.
 gettypeДля закрытых ресурсов теперь возвращается 'resource (closed)'. Ранее для закрытых ресурсов возвращалось 'unknown type'.
 hash_copyПринимает и возвращает HashContext, а не ресурс.
 hash_finalПринимает HashContext, а не ресурс.
 hash_hmacЗапрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
 hash_hmac_fileЗапрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
 hash_initЗапрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) с константой HASH_HMAC.
 hash_initВозвращает HashContext, а не ресурс.
 hash_pbkdf2Запрещено использование некриптографических функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
 hash_updateПринимает HashContext, а не ресурс.
 hash_update_fileПринимает HashContext, а не ресурс.
 hash_update_streamПринимает HashContext, а не ресурс.
 idn_to_asciiINTL_IDNA_VARIANT_2003 объявлена устаревшей, вместо нее используйте INTL_IDNA_VARIANT_UTS46.
 idn_to_utf8INTL_IDNA_VARIANT_2003 объявлена устаревшей, вместо нее используйте INTL_IDNA_VARIANT_UTS46.
 imageantialiasФункция imageantialias доступна без ограничений. Ранее она была доступна, только если PHP был собран с использованием библиотеки GD идущей с ним в комплекте.
 imagegdТеперь imagegd позволяет сохранять изображения "truecolor". Раньше они неявно преобразовывались к палитре.
 imagelayereffectДобавлена IMG_EFFECT_MULTIPLY (требует системную библиотеку libgd >= 2.1.1 или libgd идущую в комплекте с PHP).
 imagetypesДобавлена константа IMG_BMP.
 is_objectТеперь is_object возвращает TRUE для десериализованных объектов, у которых отсутствует объявление класса (класс __PHP_Incomplete_Class). Раньше возвращалось FALSE.
 json_decodeДобавлены константы JSON_INVALID_UTF8_IGNORE и JSON_INVALID_UTF8_SUBSTITUTE для параметра options.
 json_encodeДобавлены константы JSON_INVALID_UTF8_IGNORE и JSON_INVALID_UTF8_SUBSTITUTE для параметра options.
 mailПараметр additional_headers может принимать значения типа массив.
 mb_send_mailТеперь в параметр additional_headers можно передавать массив.
 mt_randДля mt_rand произведено исправление бага смещения по модулю. Это означает, что последовательности сгенерированные с конкретным начальным значением могут отличаться от сгенерированных в PHP 7.1 для 64-битных машин.
 number_formatnumber_format была изменена, чтобы не возвращать -0, ранее -0 могло быть возвращено в случаях, когда number был -0.01.
 openssl_pkcs7_verifyДобавлен параметр p7bfilename.
 packТипы float и double поддерживают как обратный, так и прямой порядок передачи байтов.
 parse_strИспользование parse_str без второго параметра будет вызывать ошибку уровня E_DEPRECATED.
 password_hashДобавлена поддержка хеширующего алгоритма Argon2i с помощью PASSWORD_ARGON2I.
 preg_matchТеперь константа PREG_UNMATCHED_AS_NULL поддерживается для параметра $flags.
 preg_match_allТеперь константа PREG_UNMATCHED_AS_NULL поддерживается для параметра $flags.
 proc_niceЭта функция стала доступна в Windows.
 randДля rand произведено исправление бага смещения по модулю. Это означает, что последовательности сгенерированные с конкретным начальным значением могут отличаться от сгенерированных в PHP 7.1 для 64-битных машин.
 read_exif_dataЭтот псевдоним был объявлен устаревшим.
 session_abortТеперь возвращаемый тип этой функции bool. Раньше был тип void.
 session_module_nameВ данный момент запрещено устанавливать имя модуля на значение "user". Ранее это игнорировалось.
 session_namesession_name проверяет статус сессии, ранее она проверяла только статус cookie. Поэтому старая версия session_name позволяла вызывать session_name после session_start, что могло привести к сбою PHP и неправильному поведению.
 session_resetТеперь возвращаемый тип этой функции bool. Раньше был тип void.
 session_set_cookie_paramsВозвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Ранее возвращала тип void.
 session_unsetТеперь возвращаемый тип этой функции bool. Раньше был тип void.
 session_write_closeТеперь возвращаемый тип этой функции bool. Раньше был тип void.
 set_error_handlerПараметр errcontext объявлен устаревшим. Теперь при его использовании будет вызываться ошибка уровня E_DEPRECATED.
 unpackТипы float и double поддерживают как обратный, так и прямой порядок передачи байтов.
 utf8_decodeЭта функция была перенесена в ядро PHP, таким образом отменив требование расширения XML для использования этой функции.
 utf8_encodeЭта функция была перенесена в ядро PHP, таким образом отменив требование расширения XML для использования этой функции.
 PDOStatement::debugDumpParamsPDOStatement::debugDumpParams теперь возвращает SQL, отправленный в базу данных, в том числе полный необработанный запрос (включая замененные параметры с их связанными значениями). Обратите внимание, что это будет работать только при включенной эмуляции подготавливаемых запросов.
 SQLite3::openBlobДобавлен параметр flags, позволяющий записать BLOB; ранее поддерживалось только чтение.
7.1.24, 7.2.12, 7.3.0xml_parser_get_optionТеперь параметр options поддерживает XML_OPTION_SKIP_TAGSTART и XML_OPTION_SKIP_WHITE.
7.1.5IntlDateFormatter::formatSupport for providing general DateTimeInterface objects to the value parameter was added. Formerly, only proper DateTime objects were supported.
7.1.4PDO::sqliteCreateFunctionДобавлен параметр flags.
 SQLite3::createFunctionДобавлен параметр flags.
7.1.0DateInterval::formatДобавлены форматирующие символы F и f.
 DateTime::setTimeДобавлен параметр microseconds.
 array_randВнутренний алгоритм получения случайных чисел изменен с функции rand библиотеки libc на генератор на базе Вихря Мерсена.
 curl_multi_setoptДобавлена константа CURLMOPT_PUSHFUNCTION.
 exif_imagetypeДобавлена поддержка WebP.
 file_get_contentsДобавлена поддержка отрицательных значений offset.
 get_headersДобавлен параметр context.
 getenvПараметр varname теперь может быть опущен для получения ассоциативного массива (array) всех переменных окружения.
 getimagesizeДобавлена поддержка WebP.
 getoptДобавлен параметр optind.
 grapheme_extractSupport for negative starts has been added.
 grapheme_striposSupport for negative offsets has been added.
 grapheme_strposSupport for negative offsets has been added.
 hash_algosДобавлена поддержка для sha512/224, sha512/256, sha3-224, sha3-256, sha3-384 и sha3-512.
 iconv_strposПоддержка отрицательных значений offset.
 json_decodeПустой ключ JSON ("") будет преобразован в пустое свойство объекта, а не в свойство со значением _empty_.
 json_encodeДобавлена константа JSON_UNESCAPED_LINE_TERMINATORS для параметра options.
 json_encodeПри кодировании чисел с плавающей запятой используется serialize_precision вместо precision.
 listТеперь возможно задавать ключи в list. Это позволяет разыменовывать ассоциативные массивы и массивы с индексами не по порядку.
 long2ipТип параметра proper_address изменен с типа string на тип integer.
 mb_eregТеперь mb_ereg устанавливает regs равным пустому массиву (array), если ничего не найдено. Ранее в этом случае regs оставался неизменным.
 mb_ereg_replaceМодификатор e объявлен устаревшим.
 mb_ereg_search_setposДобавлена поддержка отрицательных значений position.
 mb_eregiФункцию mb_eregi устанавливает значение regs равным пустому массиву, если ничего не найдено. Ранее, в подобном случае, regs оставался неизменным.
 mb_eregi_replaceМодификатор e объявлен устаревшим.
 mb_strimwidthДобавлена поддержка отрицательных start и width.
 mb_striposДобавлена поддержка отрицательных значений offset.
 mb_strposДобавлена поддержка отрицательных значений offset.
 mt_randrand теперь является псевдонимом для mt_rand.
 mt_randФункция mt_rand была обновлена и теперь использует корректную версию генератора случайных чисел на основе Вихря Мерсенна. Для использования старого поведения, используйте mt_srand со вторым параметром, установленным в MT_RAND_PHP.
 mt_srandmt_rand была изменена для использования фиксированной, корректной версии алгоритма Вихря Мерсенна. Для отката к старому поведению, используйте mt_srand со вторым параметром MT_RAND_PHP.
 mt_srandsrand теперь является псевдонимом для mt_srand.
 openssl_csr_newПараметр configargs теперь поддерживает curve_name.
 openssl_decryptДобавлены параметры tag и aad.
 openssl_encryptДобавлены параметры tag, aad и tag_length.
 openssl_pkey_newДобавлен ключ curve_name в configarg для обеспечения возможности создания EC ключей.
 output_add_rewrite_varДо PHP 7.1.0 переменные перезаписи, установленные функцией output_add_rewrite_var, используют тот же буфер модуля сессии "trans sid". Начиная с PHP 7.1.0, используется отдельный буфер, url_rewriter.tags используется только для функций вывода, добавлен url_rewriter.hosts.
 output_reset_rewrite_varsДо PHP 7.1.0, переменные перезаписи установленные функцией output_add_rewrite_var используют тот же буфер модуля сессии "trans sid". С PHP 7.1.0, используется отдельный буфер и output_reset_rewrite_vars только удаляет переменные перезаписи определенные output_add_rewrite_var.
 pcntl_signalНачиная с PHP 7.1.0 обработчику обратного вызова передается второй аргумент содержащий структуру siginfo определенного сигнала. Эти данные будут переданы только в том случае, если операционная система поддерживает структуры siginfo_t. Если в операционной системе не реализована поддержка структуры siginfo_t, то в качестве второго аргумента будет передан NULL.
 pcntl_signal_get_handlerБыла добавлена функция pcntl_signal_get_handler.
 pg_fetch_allДобавлен параметр result_type.
 pg_last_noticeДобавлен параметр option.
 pg_selectДобавлен параметр result_type.
 randrand стала синонимом функции mt_rand.
 session_startsession_start теперь возвращает FALSE и больше не инициализирует $_SESSION, когда она не смогла запустить сессию.
 shuffleВнутренний алгоритм получения случайных чисел изменен с функции rand библиотеки libc на генератор на базе Вихря Мерсена.
 srandsrand стала синонимом функции mt_srand.
 str_shuffleВнутренний алгоритм получения случайных чисел изменен с функции rand библиотеки libc на генератор на базе Вихря Мерсена.
 striposДобавлена поддержка отрицательных значений offset.
 strposДобавлена поддержка отрицательных значений offset.
 substr_countДобавлена поддержка отрицательных значений offset и length. length теперь также может быть 0.
 unpackДобавлен необязательный параметр offset.
 unserializeТеперь элемент allowed_classes параметра options строго типизирован, то есть если передано что-либо, кроме array и boolean, unserialize вернет FALSE и вызовет ошибку E_WARNING.
7.1DateTime::__constructТеперь микросекунды будут заполняться корректным значением, а не '00000'.
7.0.16, 7.1.2dns_get_recordДобавлена поддержка записей типа CAA.
 fopenДобавлена опция 'e'.
7.0.15, 7.1.1get_defined_functionsДобавлен параметр exclude_disabled.
7.0.15,7.1.1packДобавлены коды "e", "E", "g" и "G" для поддержки принудительного указания порядка байт для float и double.
7.0.11iconv_substrЕсли str имеет длину равную offset, будет возвращена пустая строка. Ранее в подобных случаех возвращалось FALSE.
7.0.10SQLite3::__constructПараметр filename можно задавать пустой строкой для создания на диске приватной, временной базы данных.
7.0.7curl_multi_setoptДобавлены константы CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH и CURLMOPT_MAX_TOTAL_CONNECTIONS.
 curl_setoptДобавлены CURL_HTTP_VERSION_2, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CURL_HTTP_VERSION_2TLS, CURL_REDIR_POST_301, CURL_REDIR_POST_302, CURL_REDIR_POST_303, CURL_REDIR_POST_ALL, CURL_VERSION_KERBEROS5, CURL_VERSION_PSL, CURL_VERSION_UNIX_SOCKETS, CURLAUTH_NEGOTIATE, CURLAUTH_NTLM_WB, CURLFTP_CREATE_DIR, CURLFTP_CREATE_DIR_NONE, CURLFTP_CREATE_DIR_RETRY, CURLHEADER_SEPARATE, CURLHEADER_UNIFIED, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPT_CONNECT_TO, CURLOPT_DEFAULT_PROTOCOL, CURLOPT_DNS_INTERFACE, CURLOPT_DNS_LOCAL_IP4, CURLOPT_DNS_LOCAL_IP6, CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPT_HEADEROPT, CURLOPT_LOGIN_OPTIONS, CURLOPT_PATH_AS_IS, CURLOPT_PINNEDPUBLICKEY, CURLOPT_PIPEWAIT, CURLOPT_PROXY_SERVICE_NAME, CURLOPT_PROXYHEADER, CURLOPT_SASL_IR, CURLOPT_SERVICE_NAME, CURLOPT_SSL_ENABLE_ALPN, CURLOPT_SSL_ENABLE_NPN, CURLOPT_SSL_FALSESTART, CURLOPT_SSL_VERIFYSTATUS, CURLOPT_STREAM_WEIGHT, CURLOPT_TCP_FASTOPEN, CURLOPT_TFTP_NO_OPTIONS, CURLOPT_UNIX_SOCKET_PATH, CURLOPT_XOAUTH2_BEARER, CURLPROTO_SMB, CURLPROTO_SMBS, CURLPROXY_HTTP_1_0, CURLSSH_AUTH_AGENT и CURLSSLOPT_NO_REVOKE.
7.0.0array_columnДобавлена возможность использовать массив объектов в input.
 assertassert теперь языковая конструкция, а не функция. assertion теперь может быть выражением. Второй параметр теперь интерпретируется как исключение exception (если передан объект Throwable), или как описание description, поддерживаемое с версии PHP 5.4.8 и далее.
 curl_setoptПоддержка отключения опции CURLOPT_SAFE_UPLOAD была удалена. Все загрузки файлов с помощью curl должны использовать CURLFile.
 currentТеперь параметр array всегда передается по значению. Раньше он по возможности передавался по ссылке.
 defineДопустимы значения типа array.
 dirnameДобавлен необязательный параметр levels.
 dldl запрещено в PHP-FPM.
 getrusageДобавлен поддержка этой функции в Windows.
 gmmktimeПараметр is_dst был удален.
 imagepsbboxПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepsencodefontПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepsextendfontПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepsfreefontПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepsloadfontПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepsslantfontПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepstextПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 is_numericСтроки, содержащие шестнадцатеричную (0xf4c3b00c) запись, больше не считаются числовыми строками, то есть is_numeric вернет FALSE.
 json_decodeПустая строка PHP или значение, которое после преобразования к строке становится пустой строкой (NULL, FALSE) приводит к ошибке синтаксиса JSON.
 json_decodeОтклонен несовместимый с RFC 7159 формат чисел - верхний уровень (07, 0xff, .1, -.1) и все уровни ([1.], [1.e1])
 keyТеперь параметр array всегда передается по значению. Раньше он по возможности передавался по ссылке.
 listИзменен порядок операций присвоения.
 listВыражение list больше не может быть полностью пустым.
 listБольше нельзя разбирать строки с помощью этой функции.
 mktimeПараметр is_dst был удален.
 ob_startВ случае, если ob_start используется внутри callback-функции буфера вывода, эта функция больше не будет приводить к ошибке E_ERROR, а вместо этого будет вызывать E_RECOVERABLE_ERROR, позволяя сторонним обработчикам ошибок поймать ее.
 openssl_openДобавлен параметр iv.
 openssl_sealДобавлен параметр iv.
 parse_ini_fileСимвол решетки (#) больше не используется для комментариев.
 preg_replaceУдалена поддержка модификатора /e. Вместо него используйте preg_replace_callback.
 session_regenerate_idsession_regenerate_id перед закрытием сохраняет данные старой сессии.
 session_set_save_handlerДобавлены необязательные параметры validate_sid и update_timestamp.
 session_startДобавлен параметр options.
 set_exception_handlerТип параметра передаваемого в exception_handler изменен с Exception на Throwable
 setlocaleУдалена поддержка для параметра category, передаваемого как строка. С текущей версии можно пользоваться только константами LC_*.
 shmop_closeТип shmid был изменен с int на resource.
 shmop_deleteТип shmid был изменен с int на resource.
 shmop_openТип shmid был изменен с int на resource.
 shmop_readТип shmid был изменен с int на resource.
 shmop_sizeТип shmid был изменен с int на resource.
 shmop_writeТип shmid был изменен с int на resource.
 substrЕсли длина строки string равна количеству символов, указанному в start, то возвращается пустая строка. До этой версии в этом случае возвращалась FALSE.
 token_get_allДобавлен необязательный параметр flags, который может принимать значение TOKEN_PARSE.
 unserializeДобавлен параметр options.
 IntlDateFormatter::setTimeZoneIdThis function has been removed.
5.6.25, 7.0.10imagetypesДобавлена константа IMG_WEBP.
 SplFileObject::getCsvControlДобавлен символ экранирования в результирующий массив.
5.6.16mysqli::real_connectДобавлен флаг MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT для MySQL Native Driver
5.6.12gd_infoДобавлена поддержка WebP.
5.6.6json_encodeДобавлена константа JSON_PRESERVE_ZERO_FRACTION для параметра options.
5.6.5cryptТеперь, если в параметр salt передано неправильное значение "*0", то будет возвращаться "*1" согласно другим криптографическим реализациям. До этой версии PHP 5.6 возвращал хеш DES.
5.6.3packДобавлены коды "q", "Q", "J" и "P" для поддержки 64-bit чисел.
5.6.1parse_ini_fileДобавлен новый режим INI_SCANNER_TYPED.
 sem_acquireДобавлен параметр $nowait.
5.6.0array_fillnum теперь может быть равен нулю. До этого num должен был быть больше нуля.
 array_filterДобавлен необязательный параметр flag и константы ARRAY_FILTER_USE_KEY и ARRAY_FILTER_USE_BOTH
 cryptЕсли параметр salt пропущен, то вызывается предупреждение E_NOTICE.
 curl_setoptУдалена опция CURLOPT_CLOSEPOLICY и связанные с ней значения.
 curl_setoptОпция CURLOPT_SAFE_UPLOAD теперь имеет значение по умолчанию равное TRUE.
 hash_algosДобавлена поддержка для gost-crypto. Реализуется хеш-функция GOST, использующая таблицы CryptoPro S-box, как указано в RFC 4357, секция 11.2.
 html_entity_decodeЗначение по умолчанию для параметра encoding было изменено на значение конфигурационной опции default_charset.
 htmlentitiesЗначение по умолчанию для параметра encoding было изменено на значение конфигурационной опции default_charset.
 htmlspecialcharsЗначение по умолчанию для параметра encoding было изменено на значение конфигурационной опции default_charset.
 json_decodeНекорректные варианты написания true, false и null(не в нижнем регистре) более не являются допустимыми значениями и вызовут предупреждение.
 mb_regex_encodingКодировка по умолчанию изменена на UTF-8. Ранее по умолчанию была EUC-JP.
 mcrypt_create_ivТеперь MCRYPT_DEV_URANDOM является значением по умолчанию для source.
 mcrypt_decryptПараметры key и iv некорректных размеров более не принимаются. Теперь функция mcrypt_decrypt будет выводить предупреждение и возвращать FALSE, если входные данные некорректны. Ранее в подобной ситуации ключ и инициализирующий вектор дополнялись до нужной длины символами '\0'.
 mcrypt_encryptНекорректные размеры ключа key и инициализирующего вектора iv более не принимаются. Теперь в случае некорректных входных параметров Функция mcrypt_encrypt будет возвращать FALSE и вызывать предупреждение. Ранее в подобном случае ключ и инициализирующий вектор дополнялись до необходимого размера с помощью символов '\0'.
 pg_connectДобавлена поддержка константы PGSQL_CONNECT_ASYNC для параметра connect_type.
 pg_convertБольше не является экспериментальной. Добавлена поддержка значений булевого типа/NULL. Неизвестные и неподдерживаемые типы данных экранируются без валидации. pg_convert можно использовать с любыми типами данных.
 pg_deleteБольше не является экспериментальной. Добавлена константа PGSQL_DML_ESCAPE, TRUE/FALSE и NULL типы данных теперь поддерживаются.
 pg_insertБольше не является экспериментальной. Добавлена константа PGSQL_DML_ESCAPE, TRUE/FALSE и NULL типы данных теперь поддерживаются.
 pg_insertЕсли не передана константа PGSQL_DML_STRING, функция, в случае успешного завершения, возвращает ресурс соединения, а не TRUE.
 pg_lo_seekДобавлена поддержка больших 64-битных объектов PostgreSQL 9.3. И клиент, и сервер должны поддерживать PostgreSQL 9.3, а PHP должен быть собран 64-битным и использовать 64-битные большие объекты.
 pg_lo_tellДобавлена поддержка больших 64-битных объектов PostgreSQL 9.3. И клиент, и сервер должны поддерживать PostgreSQL 9.3, а PHP должен быть собран 64-битным и использовать 64-битные большие объекты.
 pg_lo_truncateДобавлена функция обрезания. Она поддерживает 64-битный большой объект PostgreSQL из версии 9.3. Как клиент, так и сервер должны поддерживать PostgreSQL версии 9.3, а PHP должен быть собран на 64-битной машине для использования большого 64-битного объекта.
 pg_meta_dataБольше не является экспериментальной. Добавлено "is enum" атрибутом по умолчанию. Добавлен флаг extended.
 pg_selectБольше не является экспериментальной. Добавлена константа PGSQL_DML_ESCAPE, TRUE/FALSE и NULL типы данных теперь поддерживаются.
 pg_updateБольше не является экспериментальной. Добавлена константа PGSQL_DML_ESCAPE, TRUE/FALSE и NULL типы данных теперь поддерживаются.
 stream_socket_enable_cryptoДобавлены константы STREAM_CRYPTO_METHOD_ANY_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, STREAM_CRYPTO_METHOD_ANY_SERVER, STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, STREAM_CRYPTO_METHOD_TLSv1_2_SERVER.
 stream_socket_enable_cryptoПараметр crypto_type теперь необязателен.
 unserializeИзменение сериализованных данных с заменой C: на O:, для принудительного создания объекта без вызова конструктора, теперь будет проходить успешно.
 ReflectionClass::newInstanceWithoutConstructorТеперь можно создавать экземпляры всех встроенных классов, кроме объявленных как final.
 XMLReader::getAttributeNoXMLReader::getAttributeNo теперь возвращает NULL, если атрибут не существует.
 XMLReader::getAttributeNsXMLReader::getAttributeNS теперь возвращает NULL, если атрибут не существует.
5.5.38, 5.6.24, 7.0.9getenvБыл добавлен параметр local_only.
5.5.22, 5.6.6flockДобавлена поддержка параметра wouldblock в Windows.
 SplFileObject::flockДобавлена поддержка параметра wouldblock в Windows.
5.5.21, 5.6.5SplFileObject::fputcsvДобавлен параметр escape.
5.5.21cryptТеперь, если в параметр salt передано неправильное значение "*0", то теперь возвращается "*1" согласно другим криптографическим реализациям. До этой версии PHP 5.5 (и другие ветки) возвращал хеш DES.
5.5.19/5.6.3imagescaleРасчет высоты, если параметр new_height отрицателен или опущен, был исправлен; до этих версий соотношение сторон работало неправильно.
5.5.19, 5.6.3DateTimeZone::getOffsetТип параметра datetime был изменен на интерфейс DateTimeInterface. Ранее был класс DateTime.
5.5.11substr_comparelength теперь может быть равной 0.
5.5.10DateTimeZone::__constructПараметр timezone принимает значения смещения.
5.5.8DatePeriod::__constructТип параметра end изменен на DateTimeInterface. Ранее использовался DateTime.
5.5.7apache_request_headersЭта функция стала доступна в CLI-сервере.
 apache_response_headersЭта функция стала доступна в CLI-сервере.
 getallheadersЭта функция стала доступна в CLI-сервере.
5.5.4fputcsvДобавлен параметр escape_char
5.5.3/5.4.19pg_deleteИсправлены прямые SQL-инъекции в table_name и непрямые SQL-инъекции в идентификаторах.
 pg_insertИсправлены прямые SQL-инъекции в table_name и непрямые SQL-инъекции в идентификаторах.
 pg_selectИсправлены прямые SQL-инъекции в table_name и непрямые SQL-инъекции в идентификаторах.
 pg_updateИсправлены прямые SQL-инъекции в table_name и непрямые SQL-инъекции в идентификаторах.
5.5.2DOMDocument::schemaValidateДобавлен параметр flags
 DOMDocument::schemaValidateSourceДобавлен параметр flags
5.5.1hex2binЕсли входная строка не является правильной шестнадцатеричной строкой, то будет выброшено предупреждение.
 pg_unescape_byteaЕсли входная строка не валидна, то бросается предупреждение.
 session_set_save_handlerДобавлен необязательный параметр create_sid.
5.5.0/PECL 3.0.0IntlDateFormatter::createAn IntlCalendar object is allowed for calendar. Objects of type IntlTimeZone and DateTimeZone are allowed for timezone. Invalid timezone identifiers (including empty strings) are no longer allowed for timezone. If NULL is given for timezone, the timezone identifier given by date_default_timezone_get will be used instead of ICUʼs default.
 IntlDateFormatter::formatSupport for providing IntlCalendar objects to the value parameter was added.
 IntlDateFormatter::setCalendarIt became possible to pass an IntlCalendar object.
5.5.0DatePeriod::__constructТип параметра start изменен на DateTimeInterface. Ранее использовался DateTime.
 curl_getinfoДобавлены CURLINFO_RESPONSE_CODE, CURLINFO_HTTP_CONNECTCODE, CURLINFO_HTTPAUTH_AVAIL, CURLINFO_PROXYAUTH_AVAIL, CURLINFO_OS_ERRNO, CURLINFO_NUM_CONNECTS, CURLINFO_SSL_ENGINES, CURLINFO_COOKIELIST, CURLINFO_FTP_ENTRY_PATH, CURLINFO_APPCONNECT_TIME, CURLINFO_CONDITION_UNMET, CURLINFO_RTSP_CLIENT_CSEQ, CURLINFO_RTSP_CSEQ_RECV, CURLINFO_RTSP_SERVER_CSEQ и CURLINFO_RTSP_SESSION_ID.
 curl_setoptРесурс cURL добавлен первым аргументом в callback-функцию CURLOPT_PROGRESSFUNCTION.
 curl_setoptДобавлена опция CURLOPT_SHARE.
 emptyempty теперь поддерживает выражения, а не только переменные.
 imagerotateЭта функция теперь меняет свое поведение при изменении метода интерполяции функцией imagesetinterpolation.
 imagerotateПараметр ignore_transparent игнорируется без предупреждений.
 ip2longДо этой версии в Windows ip2long иногда могло быть возвращено корректное число, даже если был передан некорректный IPv4-адрес.
 iterator_to_arrayiterator_to_array стал поддерживать ключи с типами, отличными от integer и string, если включен параметр use_keys.
 json_encodeДобавлен параметр depth.
 json_encodeДобавлена константа JSON_PARTIAL_OUTPUT_ON_ERROR для параметра options.
 json_encodeВозвращаемое значение в случае неудачи изменено со строки null на FALSE.
 mysql_connectФункция вызывает ошибку E_DEPRECATED.
 mysql_db_nameФункция mysql_list_dbs устарела, и вызывает ошибку уровня E_DEPRECATED.
 mysql_pconnectЭта функция теперь вызывает ошибку E_DEPRECATED.
 mysql_tablenameФункция mysql_tablename устарела, и вызывает ошибку уровня E_DEPRECATED.
 packДобавлен код "Z", работающий аналогично "a" для совместимости с Perl.
 php_logo_guidphp_logo_guid удалена из PHP.
 phpinfoGUID логотипов были заменены на URI данных, и отключение опции expose_php теперь не влияет на результат phpinfo(). Список авторов теперь также встроен в вывод.
 preg_replaceМодификатор /e теперь считается устаревшим. Используйте функцию preg_replace_callback. Смотрите документацию PREG_REPLACE_EVAL с дополнительной информацией и описанием проблем с безопасностью.
 set_error_handlererror_handler теперь может принимать NULL.
 set_exception_handlerРаньше, если был передан NULL, то эта функция возвращала TRUE. Теперь она возвращает старый обработчик.
 setcookieТеперь атрибут max-age включен в заголовок, отправляемый клиенту Set-Cookie.
 setrawcookieАтрибут Max-Age теперь добавляется в заголовок Set-Cookie, отправляемый клиенту.
 unpackДля поддержания совместимости с Perl сделано следующее: Код "a" теперь сохраняет завершающие NULL-байты. Код "A" теперь удаляет все завершающие пробельные символы ASCII (пробелы, табуляцию, переносы строк, возврат каретки, и NULL-байты). Код "Z" добавлен для NULL-дополненными строками и удаляет завершающие NULL-байты.
 zend_logo_guidzend_logo_guid удалена из PHP.
 IntlDateFormatter::setTimeZoneIdThis function has been deprecated.
 mysqli::commitДобавлены параметры flags и name.
 mysqli::optionsДобавлены опции MYSQLI_SERVER_PUBLIC_KEY и MYSQLI_SERVER_PUBLIC_KEY.
 mysqli::rollbackДобавлены параметры flags и name.
 SoapClient::SoapClientНовая опция ssl_method.
5.4.43, 5.5.27, 5.6.11escapeshellargВосклицательный знак заменяется пробелом.
 escapeshellcmdВосклицательные знаки заменяются пробелами.
5.4.42, 5.5.27mailДобавлена защита от атак инъекцией в заголовок для параметра additional_headers. Это значит, что множественные последовательные переводы строк более не допустимы.
5.4.32, 5.5.16ucwordsДобавлен параметр delimiters.
5.4.8assertДобавлен параметр description. Параметр description также доступен в callback-функции в режиме ASSERT_CALLBACK в качестве четвертого аргумента.
 mb_strcutПередача NULL в ккачестве length вернет все байты до конца строки. В более ранних версиях NULL интерпретировался как 0.
 mb_substrПередача NULL в качестве length вернет все символы до конца строки. В более ранних версиях NULL интерпретировался как 0.
5.4.7curl_getinfoДобавлены CURLINFO_PRIMARY_IP, CURLINFO_PRIMARY_PORT, CURLINFO_LOCAL_IP и CURLINFO_LOCAL_PORT.
 parse_urlИсправлено распознавание host, если в URL отсутствовал компонент scheme и использовался ведущий разделитель компонентов.
5.4.4hex2binЕсли строка имеет нечетную длину, выбрасывается предупреждение. В PHP 5.4.0 такая строка принималась, а последний байт просто обрезался.
5.4.0/PECL 2.0.0b1idn_to_asciiДобавлены параметры variant и idna_info; поддержка UTS #46 (требуется ICU ≥ 4.6).
 idn_to_utf8Добавлены параметры variant и idna_info; поддержка UTS #46 (требуется ICU ≥ 4.6).
5.4.0DOMDocument::loadHTMLДобавлен параметр options.
 DOMDocument::loadHTMLFileДобавлен параметр options.
 apache_child_terminateЭта функция стала доступной в режиме FastCGI. Ранее она поддерживалась только при запуске PHP в качестве модуля для Apache.
 apache_request_headersДанная функция стала доступной при использовании FastCGI. До этого поддерживалась только в случае использования PHP как модуля Apache или в серверном модуле NSAPI в веб-серверов Netscape/iPlanet/SunONE
 apache_response_headersДанная функция стала доступной при использовании FastCGI. Раньше она была доступна только если PHP был установлен, как модуль Apache или в серверном модуле NSAPI в веб-серверов Netscape/iPlanet/SunONE
 array_combineПредыдущие версии выдавали E_WARNING и возвращали FALSE для пустых массивов.
 array_multisortДобавлены SORT_NATURAL и SORT_FLAG_CASE в возможные флаги сортировки array1_sort_flags.
 date_default_timezone_getПеременная окружения TZ больше не используется при угадывании временной зоны.
 date_default_timezone_getВременная зона больше не угадывается с помощью информации, полученной из операционной системы, так как данный метод нестабилен и на него нельзя полагаться.
 debug_backtraceДобавлен необязательный аргумент limit.
 debug_print_backtraceДобавлен необязательный аргумент limit.
 define_syslog_variablesЭта функция была удалена из PHP.
 dns_get_recordДобавлен параметр raw.
 emptyПроверка нечислового индекса строки возвращает TRUE.
 error_reportingE_STRICT стал частью E_ALL.
 filter_input_arrayДобавлен параметр add_empty.
 filter_var_arrayДобавлен параметр add_empty.
 get_html_translation_tableБыли добавлены константы ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
 get_html_translation_tableЗначение по умолчанию для параметра encoding было изменено на UTF-8.
 get_magic_quotes_gpcВсегда возвращает FALSE, так как функционал магических кавычек удален из PHP.
 get_magic_quotes_runtimeВсегда возвращает FALSE, так как функционал магических кавычек удален из PHP.
 getallheadersЭта функция стала доступной при использовании FastCGI. Ранее она была доступна только если PHP был установлен, как модуль Apache или в серверном модуле NSAPI в веб-серверов Netscape/iPlanet/SunONE
 gzcompressДобавлен параметр encoding.
 gzdeflateДобавлен параметр encoding.
 gzencodeFORCE_DEFLATE теперь генерирует вывод, совместимый с RFC 1950.
 hashАлгоритм Tiger теперь использует порядок байтов от старшего к младшему (big-endian). Смотрите пример ниже.
 hash_algosДобавлена поддержка для joaat, fnv132 и fnv164. Убрана поддержка для Salsa10 и Salsa20
 html_entity_decodeБыли добавлены константы ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
 html_entity_decodeКодировка по умолчанию сменилась с ISO-8859-1 на UTF-8.
 htmlentitiesДобавлены константы ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
 htmlentitiesЗначение по умолчанию для параметра encoding было изменено на UTF-8.
 htmlspecialcharsЗначение по умолчанию для параметра encoding было изменено на UTF-8.
 htmlspecialcharsДобавлены константы ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
 htmlspecialchars_decodeДобавлены константы ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
 http_build_queryДобавлен параметр enc_type.
 iconvНачиная с этой версии, функция возвращает FALSE на некорректных символах, только если в выходной кодировке не указан //IGNORE. До этого функция возвращала часть строки.
 imagecolorsetДобавлен аргумент alpha.
 imagegdДобавлена возможность использовать потоки типа resource для to.
 imagegd2Добавлена возможность задавать поток типа resource для to.
 imagegifДобавлена возможность использовать поток типа resource для to.
 imagejpegЗапрещено задавать to пустой строкой для его пропуска..
 imagejpegДобавлена возможность использовать поток типа resource для to.
 imagepngДобавлена возможность использовать поток типа resource для to.
 imagewbmpДобавлена возможность использовать поток типа resource для to.
 issetПроверка нечислового индекса строки теперь возвращает FALSE.
 json_decodeДобавлен параметр options.
 json_decodeДобавлены константы JSON_BIGINT_AS_STRING и JSON_OBJECT_AS_ARRAY для параметра options.
 json_encodeДля options были добавлены константы JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES и JSON_UNESCAPED_UNICODE.
 mb_decode_numericentityДобавлен параметр is_hex.
 mb_encode_numericentityДобавлен параметр is_hex.
 mysqli_get_cache_statsФункция mysqli_get_cache_stats удалена.
 number_formatФункция поддерживает многобайтовую строку в качестве параметров dec_point и thousands_sep. В предыдущих версиях в качестве разделителя использовался только первый байт из каждого параметра.
 ob_startТретий параметр ob_start изменен с логического (boolean) параметра erase (который при установке в FALSE предотвращал удаление буфера до тех пор, пока не завершалась работа скрипта) на целочисленный (integer) параметр flags. К сожалению, это означает появление несовместимости API для кода, который использовал третий параметр до версии PHP 5.4.0. Смотрите пример с флагами, чтобы понять как работать с кодом, чтобы он поддерживал совместимость с обеими версиями.
 ob_startПараметр chunk_size, установленный в 1, теперь приводит к выводу по 1 байту в выходной буфер.
 openssl_decryptПараметр raw_output изменен на options.
 openssl_encryptПараметр raw_output изменен на options.
 preg_match_allПараметр matches стал необязательным.
 scandirДобавлены константы для sorting_order. Любое ненулевое значение задавало сортировку по убыванию в предыдущих версиях. Поэтому для всех версий PHP нужно использовать 0 для сортировки по возрастанию и 1 для сортировки по убыванию. Опции для режима SCANDIR_SORT_NONE не существовало до PHP 5.4.0.
 session_set_save_handlerДобавлен интерфейс SessionHandlerInterface для реализации обработчиков сессии и класс SessionHandler для дополнения внутренних обработчиков сессии PHP.
 snmp_set_valueretrievalConstants SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY may be combined with SNMP_VALUE_OBJECT resulting different way of representing contents of value array element in return value of GET-function. If no SNMP_VALUE_{PLAIN,LIBRARY} constant is accompanying SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used. Prior to 5.4.0 SNMP_VALUE_OBJECT effecively meant SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN.
 sortДобавлена поддержка SORT_NATURAL и SORT_FLAG_CASE в параметре sort_flags
 PDOStatement::getColumnMetaДобавлена поддержка драйвера PDO_DBLIB
 Phar::setStubДобавлен параметр len.
 PharData::setStubДобавлен параметр len.
 SimpleXMLElement::getDocNamespacesДобавлен параметр from_root.
 SoapClient::SoapClientНовая опция keep_alive.
5.4grapheme_substrIf length is given and positive and the argument string is shorter than the specified length, all the rest of the string according to start parameter is returned. Previously, FALSE was returned.
5.3.19imagecreatefromxpmimagecreatefromxpm доступна на Windows.
5.3.9DateTime::createFromFormatДля format добавлен спецификатор +.
 dldl разрешено в PHP-FPM, хотя и не рекомендовано.
 is_aДобавлен параметр allow_string
 is_subclass_ofДобавлен параметр allow_string
5.3.7cryptДобавлены $2x$ и $2y$ режимы Blowfish для предотвращения возможных "high-bit" атак.
 curl_getinfoДобавлена CURLINFO_REDIRECT_URL.
 is_subclass_ofДобавлена поддержка работы с интерфейсами для параметра class_name
5.3.6DateTime::modifyСтало возможным применять абсолютные значения объектов даты/времени. Раньше использовались только относительные значения полей даты/времени.
 DOMDocument::saveHTMLДобавлен аргумент node.
 array_productРезультатом произведения пустого массива теперь является 1, тогда как ранее данная функция возвращала 0.
 debug_backtraceАргумент provide_object заменен на options и добавлена дополнительная настройка DEBUG_BACKTRACE_IGNORE_ARGS.
 debug_print_backtraceДобавлен необязательный аргумент options.
 preg_matchВозвращает FALSE, если offset больше, чем длина subject.
 preg_match_allВозвращает FALSE если offset больше чем длина subject.
 PDO_MYSQL DSNДо версии 5.3.6 параметр charset игнорировался.
5.3.4copyИзменён параметр context для достижения результата. Ранее любые параметры context игнорировались.
 get_html_translation_tableДобавлен параметр encoding.
 mt_randПриводит к ошибке E_WARNING и возвращает FALSE, если max < min.
 rawurlencodeСимволы "тильда" больше не кодируются, когда rawurlencode используется с EBCDIC-строками.
 sleepДо PHP 5.3.4 функция sleep в Windows всегда возвращала NULL после завершения ожидания, независимо от того было ли прервано выполнение функции или нет.
 strip_tagsstrip_tags игнорирует самозакрывающиеся теги XHTML в allowable_tags.
 IntlDateFormatter::formatSupport for providing DateTime objects to the value parameter was added.
 mysqli_driver::$report_modeИзменен режим протоколирования. Если ранее режим задавался для процесса, то теперь он задается для каждого запроса.
5.3.3DOMXPath::evaluateДобавлен аргумент registerNodeNS.
 DOMXPath::queryДобавлен аргумент registerNodeNS.
 imap_fetch_overviewДобавлено свойство udate.
 json_encodeДобавлена константа JSON_NUMERIC_CHECK для параметра options.
 ldap_sasl_bindДобавлена поддержка в Windows.
 openssl_decryptДобавлен параметр iv.
 openssl_encryptДобавлен параметр iv.
 parse_urlУдалено E_WARNING, которое сообщало о невозможности разбора URL.
5.3.2 (PECL OCI8 1.4)oci_set_prefetchДо этой версии rows должен был быть >= 1.
5.3.2cryptДобавлено хеширование алгоритмами SHA-256 и SHA-512, основанное на реализации Ульриха Дреппера (Ulrich Drepper).
 cryptИсправлено поведение Blowfish при некорректных раундах: теперь возвращается "ошибочная" строка ("*0" или "*1") вместо отката к использованию DES.
 flockАвтоматическое снятие блокировки при закрытии было удалено. Снятие блокировки теперь всегда должно осуществляться вручную.
 gmp_initДиапазон возможных оснований системы счисления base расширен с значений от 2 до 36, до значений от 2 до 62 и от -2 до -36.
 gmp_strvalДиапазон возможных систем счисления base расширен со значений 2 - 36, до 2 - 62 и -2 - -36.
 imap_appendДобавлена поддержка INTERNALDATE для imap_append.
 imap_openДобавлен параметр params
 SplFileObject::flockУдалена автоматическая разблокировка при закрытии ресурса обработчика файла. Теперь разблокировку всегда придется делать самостоятельно.
5.3.1get_defined_constantsТолько для Windows: Константы ядра входят в категорию Core. Раньше категория называлась mhash.
 ibase_queryOn success the function now returns TRUE if there were no affected rows, where it previously returned 0 (a zero followed by an empty space).
 renamerename теперь может переименовывать файлы между дисками в Windows.
5.3.0 (PECL OCI8 1.3.4)oci_set_prefetchДо этой версии предварительная выборка была ограничена к меньшему из значений rows строк и 1024 * rows байт. Теперь ограничение по размеру байт снято.
5.3.0DateTime::__constructВ случае задания параметру time неверного формата даты/времени выбрасывается исключение. Раньше скрипт выдавал ошибку.
 DateTime::modifyИзменено значение успешной работы функции с NULL на DateTime.
 DateTime::setDateИзменено значение успешной работы функции с NULL на DateTime.
 DateTime::setISODateИзменено значение успешной работы функции с NULL на DateTime.
 DateTime::setTimeИзменено значение успешной работы функции с NULL на DateTime.
 DateTime::setTimezoneИзменено значение успешной работы функции с NULL на DateTime.
 DateTimeZone::getTransitionsБыли добавлены необязательные параметры timestamp_begin и timestamp_end.
 DateTimeZone::listIdentifiersДобавлены необязательные параметры what и country.
 DirectoryIterator::__constructВызывается исключение UnexpectedValueException, если путь path не может быть открыт.
 acoshФункция стала доступна для всех платформ
 array_multisortДобавлен SORT_LOCALE_STRING в возможные флаги сортировки array1_sort_flags.
 array_reduceПараметр initial теперь позволяет передать тип mixed, ранее передавался только тип integer.
 array_searchВместе со всеми внутренними функциями PHP, начиная с версии 5.3.0, array_search возвращает NULL, если ей были переданы неверные параметры.
 asinhФункция стала доступна для всех платформ
 atanhФункция стала доступна для всех платформ
 call_user_funcЕсли вызываемая функция ожидает передачи параметра по ссылке, будет выдана ошибка уровня E_WARNING.
 call_user_funcИзменилась интерпретация объектно-ориентированных ключевых слов, таких как parent и self. Ранее, при их вызове с помощью синтаксиса двойного двоеточия вызывалась ошибка уровня E_STRICT, т.к. они интерпретировались как статические вызовы.
 call_user_func_arrayИзменилась интерпретация объектно-ориентированных ключевых слов, таких как parent и self. Ранее их вызов с помощью синтаксиса двойного двоеточия вызывал предупреждение уровня E_STRICT, так как они расценивались как статические вызовы.
 checkdnsrrФункция стала доступна на платформе Windows.
 clearstatcacheДобавлены необязательные параметры clear_realpath_cache и filename.
 copyДобавлена поддержка контекста.
 cryptPHP теперь использует собственную реализацию MD5, стандартного DES, расширенного DES и Blowfish алгоритмов, которые будут использованы в случае отсутствия их поддержки в системе.
 curl_getinfoДобавлена CURLINFO_CERTINFO.
 curl_setoptДобавлена опция CURLOPT_PROGRESSFUNCTION.
 date_default_timezone_setТеперь выбрасывает E_WARNING вместо E_STRICT.
 define_syslog_variablesЭта функция теперь передаёт напоминание E_DEPRECATED.
 dldl выключен в некоторых SAPI в связи с нестабильностью работы. Из SAPI, поддерживающих dl, остались только CLI и Embed. Используйте вместо dl Директивы загрузки расширений.
 dns_get_recordФункция стала доступна на платформах Windows.
 dns_get_recordДо этого выпуска, если был задан параметр authns, то и addtl также становился обязательным. Теперь нет.
 error_reportingДобавлены E_DEPRECATED и E_USER_DEPRECATED.
 exif_imagetypeДобавлена поддержка иконок.
 expm1Теперь функция доступна на всех платформах
 fgetcsvДобавлен параметр escape
 fnmatchДанная функция стала доступной на платформе Windows.
 func_get_argЕсли эта функция вызвана в глобальной области видимости файла, подключенного с помощью include или require из функции вызывающего файла, то теперь будет сгенерировано предупреждение и возвращено значение FALSE.
 func_get_argЭта функция теперь может быть использована в качестве параметра функции.
 func_get_argsЕсли эта функция вызвана в глобальной области видимости файла, подключенного с помощью include или require из функции вызывающего файла, то теперь будет сгенерировано предупреждение и возвращено значение FALSE.
 func_get_argsЭта функция теперь может быть использована в качестве параметра функции.
 func_num_argsЭта функция теперь может быть использована в качестве параметра функции.
 func_num_argsЕсли эта функция вызвана в глобальной области видимости файла, подключенного с помощью include или require из функции вызывающего файла, то теперь будет сгенерировано предупреждение и возвращено значение -1.
 gd_infoАтрибут JPG Support переименован в JPEG Support.
 get_cfg_varget_cfg_var изменена, чтобы иметь возможность возвращать ini-настройки, содержащие массивы.
 get_classNULL стал значением по умолчанию для параметра object, поэтому передача NULL в object теперь имеет тот же самый эффект, как и отсутствие какой-либо передачи вообще.
 get_defined_constantsКонстанты ядра входят в категорию Core. Раньше категория называлась internal, а в системах Windows - mhash.
 get_object_varsФункция теперь возвращает NULL, если object не является объектом. Ранее возвращался FALSE.
 get_resource_typeЕсли handle не является ресурсом (resource), то эта функция вернет NULL. Ранее возвращался FALSE.
 getimagesizeДобавлена поддержка иконок.
 getmxrrФункция стала доступна на платформе Windows.
 getoptДобавлена поддержка "=" в качестве разделителя параметр/значение.
 getoptАргумент longopts доступен на всех системах.
 getoptДобавлена поддержка необязательных значений параметров (задаваемая "::").
 getoptФункция больше не зависит от системы, теперь работает и в Windows.
 hash_algosДобавлена поддержка для md2, ripemd256, ripemd320, salsa10, salsa20, snefru256 и sha224
 htmlentitiesДобавлена константа ENT_IGNORE.
 htmlspecialcharsДобавлена константа ENT_IGNORE.
 imagecolorclosesthwbФункция теперь доступна в Windows
 imagefilterДобавлена поддержка пикселирования (IMGFILTER_PIXELATE).
 inet_ntopЭта функция стала доступна на платформах Windows.
 inet_ptonЭта функция стала доступна на платформах Windows.
 ini_getРаньше возвращалась пустая строка, если конфигурационная опция отсутствует. Теперь вместо этого возвращается FALSE.
 ini_get_allДобавлен аргумент details.
 is_aДанная функция больше не считается устаревшей, а значит больше не будет выводить предупреждения E_STRICT.
 json_decodeДобавлен необязательный параметр depth. Значение глубины рекурсии по умолчанию изменено с 128 на 512
 json_encodeБыл добавлен параметр options.
 json_encodeДобавлены константы JSON_FORCE_OBJECT, JSON_HEX_AMP, JSON_HEX_APOS, JSON_HEX_QUOT и JSON_HEX_TAG, для параметра options.
 linkЭта функция стала доступна на Windows системах (Vista, Server 2008 и выше).
 linkinfoЭта функция теперь доступна и на Windows платформах (Vista, Server 2008 и выше).
 log1pТеперь функция доступна на всех платформах
 mb_get_infoСтал доступен элемент "http_output_conv_mimetypes".
 mcrypt_create_ivMCRYPT_DEV_RANDOM и MCRYPT_DEV_URANDOM теперь доступны для Windows.
 mcrypt_create_ivТеперь не нужно предварительно запускать srand, так как это происходит автоматически.
 mktimemktime теперь выбрасывает ошибку уровня E_DEPRECATED при использовании параметра is_dst.
 mysql_db_queryФункция теперь выдает предупреждение уровня E_DEPRECATED.
 mysql_escape_stringДанная функция теперь выдает предупреждение уровня E_DEPRECATED.
 mysqli_get_cache_statsФункция mysqli_get_cache_stats добавлена в виде заглушки.
 nl2brДобавлен необязательный параметр is_xhtml.
 openssl_openДобавлен параметр method.
 openssl_sealДобавлен параметр method.
 parse_ini_fileДобавлен необязательный параметр scanner_mode. Одинарные кавычки теперь также могут быть использованы в присвоениях переменных. Символ решетки (#) теперь больше не может быть использован в качестве комментария и будет выбрасывать предупреждение о том, что данная возможность считается устаревшей.
 pg_lo_createДобавлен необязательный параметр object_id.
 pg_lo_importДобавлен необязательный аргумент object_id.
 preg_quoteСимвол - теперь экранируется
 property_existsЭта функция проверяет существование свойства вне зависимости от его доступности.
 rawurlencodeТеперь соответствует RFC 3986.
 readlinkДанная функция теперь доступна на платформах Windows (Vista, Server 2008 и выше).
 realpathДо этого релиза realpath не терпела неудачу на системах *BSD в случае отсутствия лишь последнего компонента пути path. Теперь realpath не срабатывает также и в этом случае.
 register_tick_functionТики теперь поддерживаются и на потоковых модулях веб-серверов.
 roundБыл добавлен параметр mode.
 session_startЕсли сессия не смогла стартовать, то возвращается FALSE. Раньше возвращалось TRUE.
 setlocaleЭта функция в настоящее время бросает уведомления E_DEPRECATED, если строка передается в параметре category вместо одной из констант LC_*.
 shm_attachThis function now returns a resource instead of an integer.
 socket_create_pairЭта функция доступна на Windows-платформах.
 spl_autoload_registerДобавлен аргумент prepend.
 spl_autoload_registerДобавлена поддержка пространств имен.
 stream_context_createДобавлен необязательный аргумент params.
 stream_socket_pairТеперь эта функция доступна на Windows платформах.
 stristrДобавлен необязательный параметр before_needle.
 strlenРанние версии этой функции рассматривали массивы как строку Array, возвращая таким образом 5 в качестве длины этой строки и вызывали ошибку уровня E_NOTICE.
 strstrДобавлен необязательный параметр before_needle.
 strtotimeДо PHP 5.3.0 относительные форматы времени, заданные в аргументе time функции strtotime, такие как this week, previous week, last week и next week, интерпретировались как 7-ми дневный период относительно текущего значения даты/времени, а не как период с Понедельника по Воскресенье.
 strtotimeДо PHP 5.3.0 24:00 не являлся корректным форматом, и при его использовании strtotime возвращала FALSE.
 sybase_connectThe new parameter was added.
 symlinkЭта функция теперь доступна на Windows платформах (Vista, Server 2008 и выше).
 time_nanosleepЭта функция теперь доступна на платформах Windows.
 time_sleep_untilЭта функция теперь доступна на платформах Windows.
 touchСтало возможным изменять время модификации директории в Windows.
 mysqli::__constructДобавлена возможность устанавливать постоянные соединения.
 mysqli::optionsДобавлены опции MYSQLI_OPT_INT_AND_FLOAT_NATIVE, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, MYSQLI_OPT_NET_READ_BUFFER_SIZE, и MYSQLI_OPT_SSL_VERIFY_SERVER_CERT.
 mysqli::queryДобавлена возможность выполнять асинхронные запросы.
 PDO::__constructКлассы, наследуемые от PDO и реализующие магический метод __call, теперь получают оригинальное название метода. Ранее имя метода всегда возвращалось в нижнем регистре.
 ReflectionFunction::__constructname теперь может быть замыканием.
 SplFileObject::setCsvControlДобавлен параметр escape.
 SplObjectStorage::attachДобавлен аргумент data.
 XMLReader::expandДобавлен параметр basenode.
5.2.15mysqli_driver::$report_modeИзменен режим протоколирования. Если ранее режим задавался для процесса, то теперь он задается для каждого запроса.
5.2.11get_defined_constantsЗначение аргумента categorize стало обрабатываться надлежащим образом. Раньше аргумент categorize воспринимался, как выражение !is_null($categorize), то есть любое значение отличное от NULL, предписывало разделять константы на категории.
5.2.10array_randВозвращаемый массив ключей больше не возвращается в случайном порядке.
 array_uniqueЗначение по умолчанию параметра sort_flags изменено обратно на SORT_STRING.
 curl_setoptДобавлены параметры CURLOPT_PROTOCOLS и CURLOPT_REDIR_PROTOCOLS.
 ip2longДо этой версии функция ip2long могла иногда возвращать верное число, даже если отправленное значение не было Интернет-адресом (IPv4) в точечном формате.
 natsortВ строках, отбитых нулями спереди (например, '00005') теперь данная отбивка игнорируется.
5.2.9array_uniqueДобавлен необязательный параметр sort_flags, по умолчанию равный SORT_REGULAR. До версии 5.2.9 эта функция сортировала массив с помощью SORT_STRING.
5.2.8XSLTProcessor::importStylesheetПринимает SimpleXMLElement вновь, что было невозможно в версии PHP 5.2.6 и более поздних.
5.2.7error_logДобавлен 4-й тип значения в message_type.
 parse_ini_fileВ случае ошибки синтаксиса, данная функция вернет FALSE, а не пустой массив.
 roundРабота функции round была изменена в соответствии со стандартом C99.
 strtotimeВ версиях PHP 5 до 5.2.7 при запросе временной метки дня недели, являвшегося первым днем месяца, ошибочно прибавлялась одна неделя. Эта ошибка была исправлена в версии 5.2.7 и следующих за ней версиях.
5.2.6fopenДобавлены опции 'c' и 'c+'
5.2.5addcslashesДобавлены экранирующие последовательности \v и \f.
 debug_backtraceДобавлен необязательный аргумент provide_object.
 imagefilterДобавлена поддержка прозрачности IMG_FILTER_COLORIZE.
5.2.4array_sliceЗначение параметра length по умолчанию изменено на NULL. Значение NULL в качестве length теперь означает, что в качестве этого значения будет использована длина массива array. До этой версии NULL в параметре length означал 0, то есть ничего не возвращалось.
 checkdnsrrДобавлено значение TXT параметра type.
 curl_getinfoДобавлена CURLINFO_PRIVATE.
 curl_setoptДобавлено CURLOPT_PRIVATE.
 get_loaded_extensionsДобавлен необязательный аргумент zend_extensions
 ldap_first_attributeПараметр ber_identifier был удалён. В настоящее время обрабатывается PHP автоматически.
 ldap_next_attributeПараметр ber_identifier был удалён. Теперь это обрабатывается PHP автоматически.
 parse_ini_fileКлючи и имена секций, состоящие из цифр, будут обработаны в PHP как целые числа. Поэтому числа, начинающиеся с 0 будут считаться восьмеричными, а начинающиеся с 0x - шестнадцатеричными.
 stream_wrapper_registerДобавлен параметр flags.
5.2.3getimagesizeУровень ошибок чтения, вызываемых функцией, снижен до E_NOTICE с E_WARNING.
 htmlentitiesДобавлен параметр double_encode.
 htmlspecialcharsДобавлен параметр double_encode.
 json_decodeПредел вложенности изменен с 20 на 128
 XMLWriter::writeElementПараметр content стал необязательным.
 XMLWriter::writeElementNsПараметр content стал опциональным.
 PDOStatement::getColumnMetaПоле table
5.2.2 - 5.2.6substrЕсли параметр start указывает на позицию с отрицательной обрезкой, возвращается FALSE. Другие версии возвращают строку с начала.
5.2.2DOMDocument::registerNodeClassВ версиях до 5.2.2 ранее зарегистрированный расширенный класс extendedclass должен быть исключен из регистрации, прежде чем регистрировать новый класс, расширяющий тот же базовый класс baseclass.
 date_sun_infoПорядок latitude и longitude были поменяны местами.
 ftp_ssl_connectЭта функция теперь возвращает FALSE, если не удалось установить SSL-соединение, вместо прежнего поведения, когда устанавливалось обычное, не SSL-соединение.
 phpinfoДобавлен вывод информации о загруженном конфигурационном файле. Ранее выводился только путь к конфигурационному файлу (php.ini).
 preg_matchИменованные подмаски теперь позволяют синтаксис (?<name>) и (?'name'), также как и (?P<name>). Предыдущие версии позволяли только (?P<name>).
 preg_match_allИменованные подмаски теперь принимают синтаксис (?<name>) и (?'name'), также как и (?P<name>). Предыдущие версии принимали только (?P<name>).
 proc_terminateПредыдущие версии использовали для уничтожения указанного процесса ресурс resource.
 token_get_allНомера строк возвращаются в элементе 2.
5.2.1iterator_to_arrayДобавлен параметр use_keys.
 json_decodeДобавлена поддержка декодирования базовых типов.
 memory_get_peak_usageДля работы функции больше не требуется, чтобы PHP компилировался с настройкой --enable-memory-limit.
 memory_get_usageДля работы функции больше не требуется, чтобы PHP компилировался с настройкой --enable-memory-limit.
 mt_srandРеализация Вихря Мерсенна (Mersenne Twister) в PHP теперь использует новый алгоритм переинициализации, разработанный Ричардом Вагнером (Richard Wagner). При том же параметре последовательность значений будет отличатся от последовательности, сгенерированной в предыдущих версиях PHP. (Ранее при одинаковых параметрах последовательность была одинаковой). Это поведение более не планируется изменять, но тем не менее, полагаться на это небезопасно.
 proc_openНастройка bypass_shell добавлена в аргумент other_options.
 realpathДо этой версии realpath возвращает FALSE, если path является пустой строкой или NULL.
5.2.0base64_decodeДобавлен параметр strict
 curl_multi_info_readДобавлен параметр msgs_in_queue.
 error_reportingДобавлена E_RECOVERABLE_ERROR.
 imagettftextСтало возможным задавать код сущности в тексте text шестнадцатеричным числом.
 imap_openДобавлен параметр n_retries
 imap_reopenДобавлен параметр n_retries
 mb_strrposДобавлен необязательный аргумент offset.
 memory_get_peak_usageДобавлен аргумент real_usage.
 memory_get_usageДобавлен аргумент real_usage.
 openssl_verifyДобавлен параметр signature_alg.
 pathinfoДобавлена константа PATHINFO_FILENAME.
 pg_escape_byteaДобавлен аргумент connection
 pg_escape_stringДобавлен аргумент connection
 session_get_cookie_paramsДобавлен элемент "httponly" в возвращаемый массив.
 session_set_cookie_paramsДобавлен параметр httponly.
 set_error_handlerОбработчик должен вернуть FALSE, чтобы заполнилось значение переменной $php_errormsg.
 setcookieДобавлен параметр httponly.
 setrawcookieБыл добавлен параметр httponly.
 snmp_set_oid_numeric_printSince PHP 5.2.0.
 PDOStatement::executeКлючи массива input_parameters должны совпадать с именами параметров, заявленными в SQL-запросе. До PHP 5.2.0 на это не обращалось внимания.
 SimpleXMLElement::childrenДобавлен необязательный параметр is_prefix.
 SimpleXMLElement::__constructДобавлены параметры ns и is_prefix.
 SoapServer::SoapServerДобавлена опция typemap.
 XMLReader::openБыли добавлены параметры encoding и options.
 XMLReader::XMLБыли добавлены параметры encoding и options.
5.1.3DirectoryIterator::__constructВызывается исключение RuntimeException, если параметр path содержит пустую строку.
 curl_getinfoДобавлена CURLINFO_HEADER_OUT.
 get_headersЭта функция теперь использует контекст потока по умолчанию, который может быть установлен или изменен при помощи функции stream_context_set_default.
 http_build_queryКвадратные скобки экранируются.
 imagecolorallocateВозвращает FALSE в случае неудачи. В предыдущих версиях в этом случае возвращалось значение -1.
 imagecolorallocatealphaВозвращает FALSE, если создать цвет не удалось. Раньше в этом случае функция возвращала -1.
 imagepngДобавлен аргумент filters.
 mb_get_infoСтали доступны элементы "mail_charset", "mail_header_encoding", и "mail_body_encoding".
 SoapClient::__doRequestДобавлен параметр one_way.
 XMLReader::getAttributeВозвращает NULL, если атрибут не найден. Ранее возвращалась пустая строка.
5.1.2date_default_timezone_setФункция начала проверять timezone_identifier.
 headerСтало невозможным отправлять более одного заголовка за раз. Это сделано для защиты от атак, связанных с инъекцией заголовков.
 http_build_queryДобавлен параметр arg_separator.
 imagepngДобавлен аргумент quality.
 parse_urlДобавлен параметр component.
 SimpleXMLElement::__constructДобавлены параметры options и data_is_url.
5.1.1dateДля стандартных форматов даты/времени существуют специальные константы, которые могут быть указаны в качестве параметра format.
 debug_backtraceЭлементом возвращаемого массива теперь может быть текущий объект (object).
 gmdateСуществуют также полезные константы стандартных форматов даты/времени, которые могут быть использованы в качестве параметра format.
5.1.0DirectoryIterator::__constructВызывается исключение RuntimeException при ошибке. Раньше вызывалось исключение Exception.
 DOMDocument::saveДобавлен аргумент options
 DOMDocument::saveXMLДобавлен аргумент options
 class_implementsДобавлена возможность передавать строку в качестве аргумента class. Добавлен аргумент autoload.
 class_parentsДобавлена возможность передавать строку в качестве аргумента class. Добавлен аргумент autoload.
 ctype_digitДо версии PHP 5.1.0 эта функция возвращала TRUE, если в качестве text передавалась пустая строка.
 curl_setoptДобавлены параметры CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH и CURLOPT_TIMECONDITION.
 dateТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 dateДопустимым диапазоном дат для временных меток обычно являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Они соответствуют минимальному и максимальному значению 32-битного целого числа со знаком). Однако для PHP версии ниже 5.1.0 в некоторых операционных системах (например, Windows) этот диапазон был ограничен датами 01-01-1970 до 19-01-2038.
 date_sunriseТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 date_sunsetТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 explodeДобавлена поддержка отрицательных значений limit
 fgetcsvПараметр length стал необязательным. По умолчанию равен 0, что означает отсутствие ограничения длины.
 file_get_contentsДобавлены аргументы offset и maxlen.
 file_put_contentsДобавлена поддержка LOCK_EX и возможность передачи потокового ресурса в параметр data
 get_parent_classЕсли функция была вызвана без параметров вне объекта, то функция возвращала NULL вместе с предупреждением, однако сейчас она возвращает FALSE.
 gettimeofdayДобавлен параметр return_float.
 globДобавлена константа GLOB_ERR
 gmdateКорректным диапазоном временных меток обычно является диапазон дат с 13 декабря 1901 20:45:54 GMT до 19 января 2038 03:14:07 GMT. (Эти даты соответствуют минимальному и максимальному значению 32-битному целому числу со знаком). Однако, до PHP 5.1.0 на некоторых системах (например, Windows) этот диапазон был ограничен датами от 01-01-1970 до 19-01-2038.
 gmmktimeНачиная с версии PHP 5.1.0, параметр is_dst считается устаревшим. В результате должны быть использованы новые возможности обработки временных зон.
 idateТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 imagerotateДобавлен параметр ignore_transparent.
 intvalГенерирует ошибку уровня E_NOTICE и возвращает 1, если в качестве var передан объект.
 localtimeТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 md5_fileФункция изменена для работы с потоковым API. Это означает, что ее можно использовать с обертками, например, так: md5_file('http://example.com/..')
 mktimeТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 mktimeПараметр is_dst теперь считается устаревшим. Функция теперь возвращает FALSE при ошибке, тогда как раньше возвращалась -1. Теперь функция принимает дату с одновременно установленными в ноль годом, месяцем и днем.
 mktimeЕсли mktime была вызвана без аргументов, то будет сгенерировано замечание уровня E_STRICT. Используйте вместо этого функцию time.
 mssql_connectДобавлен параметр new_link
 openssl_pkcs7_verifyДобавлен параметр content.
 preg_replaceДобавлен параметр count
 preg_replace_callbackДобавлен параметр count
 session_regenerate_idДобавлен параметр delete_old_session.
 sha1_fileФункция теперь работает с потоковым API. Это означает, что ее можно использовать с обертками, например, sha1_file('http://example.com/..')
 str_word_countДобавлен параметр charlist
 stream_copy_to_streamДобавлен параметр offset
 stream_filter_appendДо PHP 5.1.0 эта функция возвращает TRUE в случае успешного выполнения или FALSE в случае возникновения ошибки.
 stream_filter_prependДо PHP 5.1.0 эта функция возвращает TRUE в случае успешного выполнения или FALSE в случае возникновения ошибки.
 stream_get_contentsБыл добавлен параметр offset.
 strftimeТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 strtotimeТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 strtotimeТеперь в случае ошибки возвращается FALSE вместо -1.
 substr_compareДобавлена возможность использования отрицательных значений в offset.
 substr_countДобавлены параметры offset и length
 var_exportСтало возможным экспортировать классы и массивы, содержащие другие классы, используя магический метод __set_state().
 XSLTProcessor::registerPHPFunctionsБыл добавлен параметр restrict.
5.0.5php_check_syntaxЭта функция была удалена из PHP.
5.0.4msql_fetch_arrayA bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.
 msql_fetch_objectA bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.
 msql_fetch_rowA bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.
5.0.3get_class_varsВызов get_class_vars вернет только те свойства, доступ к которым может быть получен из текущей области видимости.
 is_subclass_ofВы также можете передать параметр object в виде строки (имени класса)
 php_check_syntaxВызов функции exit после php_check_syntax передает результат в Segfault.
5.0.2array_sliceДобавлен необязательный параметр preserve_keys.
 class_existsБольше не возвращает TRUE для объявленных интерфейсов. Используйте для этого interface_exists.
 get_class_varsВызов get_class_vars не вернет все свойства в качестве массива, в отличие от предыдущего поведения, где protected и private свойства имели префикс с нулевым байтом.
 sortДобавлена поддержка SORT_LOCALE_STRING
 strtotimeВ PHP до версии 5.0.2 "now" и другие относительные времена вычислялись неверно относительно полуночи текущего дня. Это отличается от поведения текущих версий, где вычисление производится корректно относительно текущего времени.
5.0.1get_class_varsВызов get_class_vars вернет все свойства, как при конвертировании объекта в класс.
 php_check_syntaxerror_message передается по ссылке.
5.0.0curl_setoptДобавлены параметры CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE и CURLOPT_HTTP200ALIASES.
 is_aЭта функция была помечена устаревшей в пользу оператора instanceof. Вызов данной функции вызовет предупреждение уровня E_STRICT.
 strtotimeСтало возможным указывать микросекунды, но они не принимаются во внимание и будут проигнорированы.