Измененные функции

Ядро PHP

  • getopt() имеет третий, необязательный, параметр, в который записывается индекс, на котором остановилась обработка. Переменная в этот параметр передается по ссылке.
  • В getenv() больше не обязательно передавать параметр. Если параметр не задан, то вернутся все выставленные переменные окружения в виде ассоциативного массива.
  • get_headers() теперь имеет дополнительный параметр для разрешения передачи определенного пользователем потокового контекста.
  • long2ip() теперь принимает тип integer в качестве параметра.
  • output_reset_rewrite_vars() больше не сбрасывает сессионные переменные перезаписи URL.
  • parse_url() теперь более требовательна и поддерживает RFC3986.
  • unpack() теперь имеет третий, необязательный, параметр для определения смещения с которого начинать распаковку.

Файловая система

  • file_get_contents() теперь принимает отрицательные значения смещения начала поиска, если поток поддерживает смещения.
  • tempnam() теперь выдает уведомление при возврате в системный временный каталог.

JSON

  • json_encode() теперь принимает новую опцию, JSON_UNESCAPED_LINE_TERMINATORS, для запрещения экранирования символов U+2028 и U+2029 когда передается JSON_UNESCAPED_UNICODE.

Многобайтные строки

  • mb_ereg() теперь отвергает некорректные последовательности байтов.
  • mb_ereg_replace() теперь отвергает некорректные последовательности байтов.

PDO

  • PDO::lastInsertId() для PostgreSQL теперь порождает ошибку, если в текущей сессии (соединении) не вызван nextval.

PostgreSQL

  • pg_last_notice() теперь принимает необязательный параметр, задающий операцию. Используется одна из следующих констант: PGSQL_NOTICE_LAST, PGSQL_NOTICE_ALL или PGSQL_NOTICE_CLEAR.
  • pg_fetch_all() теперь принимает второй, необязательный, параметр для задания типа результата (аналогично третьему параметру pg_fetch_array()).
  • pg_select() теперь принимает четвертый, необязательный, параметр для задания типа результата (аналогично третьему параметру pg_fetch_array()).