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.
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_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_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.
mb_ereg() now rejects illegal byte sequences.
mb_ereg_replace() now rejects illegal byte sequences.
PDO::lastInsertId() for PostgreSQL will now trigger an error
when nextval has not been called for the current
session (the postgres connection).
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()).
session_start() now returns false and no longer
initializes $_SESSION when it failed to start the
session.