Changed functions

PHP Core

  • getopt has an optional third parameter that exposes the index of the next element in the argument vector list to be processed. This is done via a by-ref parameter.
  • getenv no longer requires its parameter. If the parameter is omitted, then the current environment variables will be returned as an associative array.
  • get_headers now has an additional parameter to enable for the passing of custom stream contexts.
  • long2ip now also accepts an integer as a parameter.
  • output_reset_rewrite_vars no longer resets session URL rewrite variables.
  • parse_url is now more restrictive and supports RFC3986.
  • unpack now accepts an optional third parameter to specify the offset to begin unpacking from.

File System

  • file_get_contents now accepts a negative seek offset if the stream is seekable.
  • tempnam now emits a notice when falling back to the system's temp directory.

JSON

  • json_encode now accepts a new option, JSON_UNESCAPED_LINE_TERMINATORS, to disable the escaping of U+2028 and U+2029 characters when JSON_UNESCAPED_UNICODE is supplied.

Multibyte String

  • mb_ereg now rejects illegal byte sequences.
  • mb_ereg_replace now rejects illegal byte sequences.

PDO

  • PDO::lastInsertId for PostgreSQL will now trigger an error when nextval has not been called for the current session (the postgres connection).

PostgreSQL

  • pg_last_notice now accepts an optional parameter to specify an operation. This can be done with one of the following new constants: PGSQL_NOTICE_LAST, PGSQL_NOTICE_ALL, or PGSQL_NOTICE_CLEAR.
  • pg_fetch_all now accepts an optional second parameter to specify the result type (similar to the third parameter of pg_fetch_array).
  • pg_select now accepts an optional fourth parameter to specify the result type (similar to the third parameter of pg_fetch_array).