Changed Functions

PHP Core

  • set_error_handler can now be called with NULL as an argument to reset the error handler.
  • When called with NULL, set_error_handler and set_exception_handler now return the previous error or exception handler, respectively.
  • json_encode now accepts depth parameter.
  • The behaviour of pack and unpack with the "a" and "A" format codes has changed. Detailed notes on these changes are available.


  • MessageFormatter::format and related functions now accept named arguments and mixed numeric and named arguments when PHP is linked to ICU 4.8 or later.
  • MessageFormatter::format and related functions no longer error when an insufficient number of arguments have been provided. Instead, the placeholders will not be substituted.
  • MessageFormatter::format and MessageFormatter::parse are no longer limited to second precision when dealing with times.
  • IntlDateFormatter::__construct and datefmt_create now accept IntlTimeZone and DateTimeZone objects for the timezone argument, and IntlCalendar objects for the calendar argument. Furthermore, if the time zone is omitted and the calendar doesn't specify a time zone, PHP's default time zone from date_default_timezone_get is now used instead of the default ICU time zone.
  • IntlDateFormatter::getCalendar and datefmt_get_calendar return false if the IntlDateFormatter object was created with an IntlCalendar instance instead of one of the IntlDateFormatter constants.
  • IntlDateFormatter::setCalendar and datefmt_set_calendar now accept IntlCalendar objects in addition to the IntlDateFormatter constants.
  • IntlDateFormatter::format and datefmt_format now accept IntlCalendar objects.