更新日志

对绑定的扩展的函数有以下更新。

VersionFunctionDescription
Since 5.0.0get_parent_classThe object parameter is optional if called from the object's method.
Since 5.0cal_info参数calendar作为可选项,缺省时默认值为"所有历法"。
Since 4.3.0easter_dateyear参数可选,缺省的默认值是当年。
 easter_days引入参数 method。
 easter_days参数year 可选,缺省默认值是当年。
Since 4.2.0srandseed 成为可选,省略时会默认使用随机值。
Since 4.0.5get_parent_classIf object is a string, returns the name of the parent class of the class with that name.
prior to 5.3.0get_object_varsIf the object isn't an object, then get_object_vars would return FALSE
Prior to 5.1.3imagecolorallocatealphaReturns -1 if the allocation failed.
prior to 4.2.0get_object_varsIf the variables declared in the class of which the object is an instance, have not been assigned a value, those will not be returned in the array
PHP 7.0.15, PHP 7.1.1get_defined_functions增加 exclude_disabled 参数。
PHP 5.3.2 (PECL OCI8 1.4)oci_set_prefetchBefore this release, rows must be >= 1.
PHP 5.3 (PECL OCI8 1.3.4)oci_set_prefetchBefore this release, prefetching was limited to the lesser of rows rows and 1024 * rows bytes. The byte size restriction has now been removed.
PECL 3.0.0IntlDateFormatter::formatSupport for providing IntlCalendar objects to the value parameter was added.
Before 5.1.0get_parent_classIf called without parameter outside object, this function would have returned NULL with a warning.
8.0.0ReflectionParameter::getDefaultValueThis method now allows getting the default value of parameters of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.
 ReflectionParameter::getDefaultValueConstantNameThis method now allows getting the default values' constant names of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.
7.4.0array_merge允许不带参数调用,之前版本至少需要一个参数。
 idn_to_asciiThe default value of variant is now INTL_IDNA_VARIANT_UTS46 instead of the deprecated INTL_IDNA_VARIANT_2003.
 idn_to_utf8The default value of variant is now INTL_IDNA_VARIANT_UTS46 instead of the deprecated 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.
 implode把参数 glue 放到 pieces 的后面已被废弃(就是不按文档中的顺序传递参数)。
 ldap_control_paged_resultThis function has been deprecated.
 ldap_control_paged_result_responseThis function has been deprecated.
 password_hash现在 algo 参数可支持 string 类型,但为了向后兼容也支持 integer 类型。
 password_needs_rehash现在 algo 参数可以支持 string 类型,但为了向后兼容性,同时支持 integer 类型。
 preg_replace_callback新增 flags 参数。
 preg_replace_callback_arrayThe flags parameter was added.
 SQLite3Stmt::bindParamsql_param now also supports the @param notation.
 SQLite3Stmt::bindValuesql_param now also supports the @param notation.
7.3.14, 7.4.2dba_openThe lmdb driver now supports an additional $mapsize parameter.
7.3.0array_unshift现在可以只用一个参数来调用,之前至少需要两个参数。
 compact现在,如果字符串指向的变量未定义,compact 会产生 E_NOTICE 级错误。 在此之前,此类问题会静默忽略掉。
 ftp_nb_fget参数 mode 变为可选参数。 在之前的版本中,这是一个必填参数。
 ftp_nb_fput参数 mode 变为可选参数。 在之前的版本中,这是一个必填参数。
 ftp_nb_getmode 参数变为可选,之前是强制性的。
 ftp_nb_putmode 参数为可选,之前版本中为必填。
 ftp_putmode 参数为可选,之前版本中为必选。
 is_countableis_countable has been added.
 json_decodeJSON_THROW_ON_ERROR options was added.
 json_encodeoptions 参数新增 JSON_THROW_ON_ERROR 常量。
 list支持在数组解构时传引用。
 password_hash增加 PASSWORD_ARGON2ID,支持 Argon2id 密码算法。
 preg_quote字符 # 被增加为需要转义的。
 session_set_cookie_params增加 options 参数, 可以通过传入一个关联数组对各个选项进行设置。 同时,通过使用这个参数还可以对 SameSite cookie 进行设置。
 var_exportNow exports stdClass objects as an array cast to an object ((object) array( ... )), rather than using the nonexistent method stdClass::__setState. The practical effect is that now stdClass is exportable, and the resulting code will even work on earlier versions of PHP.
7.3ldap_addSupport for serverctrls added
 ldap_compareSupport for serverctrls added
 ldap_deleteSupport for serverctrls added
 ldap_exopSupport for serverctrls added
 ldap_exop_passwdSupport for serverctrls added
 ldap_listSupport for serverctrls added
 ldap_mod_addSupport for serverctrls added
 ldap_mod_delSupport for serverctrls added
 ldap_mod_replaceSupport for serverctrls added
 ldap_modify_batchSupport for serverctrls added
 ldap_parse_resultSupport for serverctrls added
 ldap_readSupport for serverctrls added
 ldap_renameSupport for serverctrls added
 ldap_searchSupport for serverctrls added
7.2.18, 7.3.5substr_compareoffset 现在可能等于 main_str。
7.2.0count当无效的 countable 类型传递给 array_or_countable 参数时,count 会产生警告。
 date_parseThe zone element of the returned array represents seconds instead of minutes now, and its sign is inverted. For instance -120 is now 7200.
 date_parse_from_formatThe zone element of the returned array represents seconds instead of minutes now, and its sign is inverted. For instance -120 is now 7200.
 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返回 HashContext 对象,不再返回资源类型。
 hash_init当使用 HASH_HMAC 选项的时候,不再支持非加密的哈希函数(adler32,crc32,crc32b,fnv132,fnv1a32,fnv164,fnv1a64,joaat)。
 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 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.
 idn_to_utf8INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.
 json_decodeJSON_INVALID_UTF8_IGNORE, and JSON_INVALID_UTF8_SUBSTITUTE options were added.
 json_encodeoptions 参数新增 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 常量。
 number_formatnumber_format 现在无法返回 -0,之前可能返回 -0,因为 number 可能会是 -0.01。
 openssl_pkcs7_verify新增 p7bfilename 参数。
 packfloat 和 double 类型支持打断和小端。
 parse_str不带第二个参数的情况下使用 parse_str 会产生 E_DEPRECATED 警告。
 password_hash增加 PASSWORD_ARGON2I,支持 Argon2i 密码算法。
 preg_match现在 $flags 参数支持 PREG_UNMATCHED_AS_NULL。
 preg_match_all现在 $flags 参数可以支持 PREG_UNMATCHED_AS_NULL。
 proc_nice在 Windows 平台上可用。
 session_abortThe return type of this function is bool now. Formerly, it has been void.
 session_module_name不允许设置模块名称为 "user"。 在之前的版本中,如果设置为 "user",那么会被静默的忽略到。
 session_namesession_name 函数会检查会话状态, 之前的版本仅仅检查 cookie 状态。 所以,旧版本的 PHP 允许你在调用 session_start 函数之后再调用 session_name 函数, 新版本的 PHP 不再允许这样做了。
 session_resetThe return type of this function is bool now. Formerly, it has been void.
 session_set_cookie_params成功时返回 TRUE, 或者在失败时返回 FALSE。 之前版本中是返回 void 的。
 session_write_closeThe return type of this function is bool now. Formerly, it has been void.
 unpackfloat and double types supports both Big Endian and Little Endian.
 SQLite3::openBlobThe flags parameter has been added, allowing to write BLOBs; formerly only reading was supported.
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::sqliteCreateFunctionThe flags parameter has been added.
 SQLite3::createFunctionThe flags parameter has been added.
7.1.0DateInterval::formatThe F and f format characters were added.
 DateTime::setTime新增 microseconds 参数。
 array_rand内置的随机数生成算法从 libc rand 函数改成梅森旋转 伪随机数生成算法。
 getenv现在可以省略 varname 来检索所有环境变量的关联数组 array。
 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_strposSupport for negative offsets has been added.
 json_decodeAn empty JSON key ("") can be encoded to the empty object property instead of using a key with value _empty_.
 json_encodeoptions 参数新增 JSON_UNESCAPED_LINE_TERMINATORS 常量。
 json_encode对 Double 的值进行编码时,使用 serialize_precision 代替 precision。
 list现在可以指定 list 中的键。 这就可以解构非数字键或者无顺序的数组。
 long2ip参数 proper_address 的类型从 string 改成 integer。
 mb_eregmb_ereg will now set regs to an empty array, if nothing matched. Formerly, regs was not modified in that case.
 mb_ereg_replaceThe e modifier has been deprecated.
 mb_ereg_search_setposSupport for negative positions has been added.
 mb_eregimb_eregi will now set regs to an empty array, if nothing matched. Formerly, regs was not modified in that case.
 mb_eregi_replaceThe e modifier has been deprecated.
 mb_strimwidth支持负数的 start 和 width。
 mb_stripos支持 offset 使用负数。
 mb_strpos支持负数的 offset。
 openssl_decrypt添加了 tag 和 aad 参数。
 openssl_encrypt增加了 tag、aad、tag_length 参数
 openssl_pkey_new添加了 curve_name 配置参数使得可以创建 EC 密钥。
 session_start当 session_start 执行失败, 无法开始一个会话的时候,会返回 FALSE, 并且不会初始化超级变量 $_SESSION。
 shuffle内置的随机数产生算法从 libc rand 函数改成 梅森旋转伪随机数生成算法。
 str_shuffle内置的随机算法从 libc rand 函数改成了梅森旋转演伪随机数发生算法。
 stripos开始支持负数的 offset。
 strpos开始支持负数的 offset。
 substr_count开始支持负数的 offset 和 length。
 unpackThe optional offset has been added.
 ReflectionType::__toStringReflectionType::__toString has been deprecated.
7.1DateTime::__construct微秒部分不再是 '00000' 了,而是真实的微秒数据。
7.0.15,7.1.1pack添加了 “e”,“E”,“g” 和 “G” 代码以启用 float 和 double 的字节顺序支持。
7.0.11iconv_substr如果 str 等长于 offset 个字符, 将返回空字符串。之前的版本里,这种情况是会返回 FALSE 的。
7.0.10SQLite3::__constructThe filename can now be empty to use a private, temporary on-disk database.
7.0.7curl_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_columninput 参数现在可以是包含对象的数组。
 assertassert is now a language construct and not a function. assertion can now be an expression. The second parameter is now interpreted either as an exception (if a Throwable object is given), or as the description supported from PHP 5.4.8 onwards.
 define允许 array 的值。
 dlPHP-FPM 模式下已禁用 dl。
 getrusage此函数现在开始支持 Windows。
 json_decodeAn empty PHP string or value that after casting to string is an empty string (NULL, FALSE) results in JSON syntax error.
 json_decodeRejected RFC 7159 incompatible number formats - top level (07, 0xff, .1, -.1) and all levels ([1.], [1.e1])
 keyarray 现在总是会传值。 在此之前,它会尽可能传引用,否则就传值。
 list赋值操作的顺序发生了变化。
 list字符串无法再被拆包(unpack)。
 listlist 表达式不再可以完全为空。
 mktimeis_dst参数已经被移除。
 openssl_open添加了 iv 参数
 openssl_seal添加 iv 变量。
 session_set_save_handler新增可选参数 validate_sid 和 update_timestamp。
 session_start新加 options 参数。
 shmop_closeThe type of shmid has been changed from int to resource.
 shmop_deleteThe type of shmid has been changed from int to resource.
 shmop_openThe return type of shmop_open has been changed from int to resource.
 shmop_readThe type of shmid has been changed from int to resource.
 shmop_sizeThe type of shmid has been changed from int to resource.
 shmop_writeThe type of shmid has been changed from int to resource.
 substr如果 string 的字符串长度与 start 相同时将返回一个空字符串。在之前的版本中,这种情况将返回 FALSE 。
 IntlDateFormatter::setTimeZoneIdThis function has been removed.
5.6.5cryptWhen the failure string "*0" is given as the salt, "*1" will now be returned for consistency with other crypt implementations. Prior to this version, PHP 5.6 would incorrectly return a DES hash.
5.6.3pack添加了 “q”、“q”、“J” 和 “P” 代码以支持处理 64 位数字。
5.6.1sem_acquireThe $nowait parameter was added.
5.6.0array_fillnum 现在可以是零。 之前 num 必须大于零。
 array_filter添加可选的参数 flag,以及常量 ARRAY_FILTER_USE_KEY 和 ARRAY_FILTER_USE_BOTH。
 cryptRaise E_NOTICE security warning if salt is omitted.
 hash_algos加入对 gost-crypto 算法的支持。 参照 RFC 4357,11.2 小节 定义的 CryptoPro S-box 表格实现 GOST 哈希函数。
 htmlentitiesThe default value for the encoding parameter was changed to be the value of the default_charset configuration option.
 htmlspecialcharsThe default value for the encoding parameter was changed to be the value of the default_charset configuration option.
 json_decodeInvalid non-lowercased variants of the true, false and null literals are no longer accepted as valid input, and will generate warnings.
 mb_regex_encodingDefault encoding is changed to UTF-8. It was EUC-JP Previously.
 mcrypt_create_ivsource 参数的默认值是 MCRYPT_DEV_URANDOM。
 mcrypt_decrypt不再接受无效长度的 key and iv 参数。 如果参数长度无效,则 mcrypt_decrypt 函数会产生警告并且返回 FALSE。 之前版本中,对于长度不足的密钥和初始向量会在其后补齐 '\0' 使其达到有效长度。
 mcrypt_encrypt不再接受无效长度的 key and iv 参数。 如果参数长度无效,则 mcrypt_decrypt 函数会产生警告并且返回 FALSE。 之前版本中,对于长度不足的密钥和初始向量会在其后补齐 '\0' 使其达到有效长度。
 pg_lo_truncateAdded truncate function. It supports PostgreSQL 9.3's 64bit large object. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.
 stream_socket_enable_cryptoThe crypto_type is now optional.
 stream_socket_enable_cryptoIntroduce 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.
 ReflectionClass::newInstanceWithoutConstructorAll internal classes can now be instantiated except for those declared final.
 XMLReader::getAttributeNoXMLReader::getAttributeNo now returns NULL if the attribute doesn't exist.
 XMLReader::getAttributeNsXMLReader::getAttributeNS now returns NULL if the attribute doesn't exist.
5.5.38, 5.6.24, 7.0.9getenv添加 local_only 参数。
5.5.21cryptWhen the failure string "*0" is given as the salt, "*1" will now be returned for consistency with other crypt implementations. Prior to this version, PHP 5.5 (and earlier branches) would incorrectly return a DES hash.
5.5.19/5.6.3imagescaleThe calculation of the height if new_height was negative or omitted was fixed; prior to these versions, the aspect ratio was not maintained correctly.
5.5.8DatePeriod::__constructend type changed to DateTimeInterface. Previously, DateTime.
5.5.7apache_request_headers此函数可用于 CLI server。
 apache_response_headers此函数可用于 CLI server.
 getallheaders此函数可用于 CLI server。
5.5.2DOMDocument::schemaValidateAdded the flags parameter
 DOMDocument::schemaValidateSourceAdded the flags parameter
5.5.1hex2bin如果输入的字符串是无效的十六进制字符串则抛出一个警告,
 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::setCalendarIt became possible to pass an IntlCalendar object.
5.5.0DatePeriod::__constructstart type changed to DateTimeInterface. Previously, DateTime.
 emptyempty 现在支持表达式了,而不仅仅是变量。
 ip2longPrior to this version, on Windows ip2long would sometimes return a valid number even if passed a value which was not an (IPv4) Internet Protocol dotted address.
 pack“Z” 代码添加了与 “a” 等效的功能,以实现 Perl 兼容性。
 setcookie发送给客户端的 Set-Cookie 头现在会包含 Max-Age 属性。
 setrawcookie发送给客户端的 Set-Cookie 头现在会加上 Max-Age 属性。
 unpackChanges were made to bring this function into line with Perl: The "a" code now retains trailing NULL bytes. The "A" code now strips all trailing ASCII whitespace (spaces, tabs, newlines, carriage returns, and NULL bytes). The "Z" code was added for NULL-padded strings, and removes trailing NULL bytes.
 IntlDateFormatter::setTimeZoneIdThis function has been deprecated.
5.4.43, 5.5.27, 5.6.11escapeshellcmd感叹号会被空格所替换。
5.4.32, 5.5.16ucwords增加了 delimiters 参数。
5.4.8assert增加了参数 description。 description 现在也作为第四个参数提供给 ASSERT_CALLBACK 模式里的回调函数。
 mb_strcutPassing NULL as length extracts all bytes to the end of the string. Prior to this version NULL was treated the same as 0.
 mb_substrlength 传入 NULL,则从 start 提取到字符串的结尾处。 在之前的版本里, NULL 会被当作 0 来处理。
5.4.7parse_url修复了 host 在 协议 省略时的识别。
5.4.4hex2bin如果输入的字符串有多余将抛出异常。 PHP 5.4.0 起字符串将被静默地接受,但是最后的字节会被截断。
5.4.0apache_child_terminate该函数目前也可以用于FastCGI模式了。以前,它仅在PHP作为Apapche的模块安装时支持。
 apache_request_headers此函数可用于 FastCGI。 此前仅在PHP以 Apache 模块方式运行时支持。
 apache_response_headers此函数可用于 FastCGI。 此前仅在PHP以 Apache 模块方式运行时支持。
 array_combine(修复)早期版本中如果是空数组就报E_WARNING的错并且返回FALSE。
 array_multisortarray1_sort_flags 增加 SORT_NATURAL 和 SORT_FLAG_CASE 选项。
 date_default_timezone_get不再使用 TZ 来推测时区。
 date_default_timezone_get不再根据操作系统的信息来推测时区,因为这是不可靠的。
 define_syslog_variablesThis function was removed from PHP.
 dns_get_record增加了参数raw。
 empty检查非数字的字符串偏移量会返回 TRUE.
 filter_input_array添加 add_empty 参数.
 filter_var_array添加 add_empty 参数。
 get_html_translation_tableThe default value for the encoding parameter was changed to UTF-8.
 get_html_translation_tableThe constants ENT_HTML401, ENT_XML1, ENT_XHTML and ENT_HTML5 were added.
 get_magic_quotes_gpc始终返回 FALSE,因为这个魔术引号功能已经从 PHP 中移除了。
 get_magic_quotes_runtime总是返回 FALSE,因为魔术引号(magic quotes)功能已经从 PHP 中移除。
 getallheaders此函数可用于 FastCGI。 此前仅在PHP以 Apache 模块方式运行时支持。
 hashtiger 算法使用大端(big-endian)字节序。参见下面的示例。
 hash_algos加入对于 joaat,fnv132 和 fnv164 算法的支持。移除 Salsa10 和 Salsa20 算法。
 htmlentitiesencoding 参数的默认值改成 UTF-8。
 htmlentities增加常量 ENT_SUBSTITUTE、 ENT_DISALLOWED、 ENT_HTML401、 ENT_XML1、 ENT_XHTML、 ENT_HTML5。
 htmlspecialchars增加常量 ENT_SUBSTITUTE、 ENT_DISALLOWED、 ENT_HTML401、 ENT_XML1、 ENT_XHTML、 ENT_HTML5。
 htmlspecialcharsencoding 参数的默认值改成 UTF-8。
 htmlspecialchars_decode增加了 ENT_HTML401、ENT_XML1、 ENT_XHTML 和 ENT_HTML5 等常量。
 http_build_query加入了 enc_type 参数。
 iconv这个版本起,字符非法时候会返回 FALSE,除非在输出字符里指定了 //IGNORE 。 在之前版本,它会返回一部分字符串。
 imagewebp支持把 resource 流作为 to 参数传入。
 isset检查字符的非数字偏移量将会返回 FALSE。
 json_decodeJSON_BIGINT_AS_STRING, and JSON_OBJECT_AS_ARRAY options were added.
 json_decodeThe options parameter was added.
 number_formatThis function now supports multiple bytes in dec_point and thousands_sep. Only the first byte of each separator was used in older versions.
 openssl_decrypt将 raw_output 更改至 options。
 openssl_encryptraw_output 改到 options。
 scandirsorting_order now accepts constants. Any nonzero value caused descending order in previous versions.
 session_set_save_handler新增用来实现自定义会话处理器的接口 SessionHandlerInterface; 新增 PHP 内部会话处理器类:SessionHandler。
5.3.15, 5.4.5Collator::getSortKeySort keys do no longer contain any NUL bytes.
5.3.9DateTime::createFromFormat新增 format 格式字符串中对于 + 格式字符的支持。
 dl尽管不推荐,但 PHP-FPM 模式下启用了 dl。
5.3.7cryptAdded $2x$ and $2y$ Blowfish modes to deal with potential high-bit attacks.
5.3.6DateTime::modify支持绝对的日期时间作为变化量, 在之前的版本中,仅支持相对变化量。
 array_product空数组现在会产生 1,而之前此函数处理空数组会产生 0。
5.3.4get_html_translation_tableThe encoding parameter was added.
 rawurlencode因为 rawurlencode 使用了 EBCDIC,所以波浪线字符不会再被编码。
 sleep在PHP 5.3.4之前,Windows平台下无论 sleep 是否成功调用,总是会返回一个 NULL。
 strip_tagsstrip_tags ignores self-closing XHTML tags in allowable_tags.
5.3.3openssl_decrypt添加 iv 参数。
 openssl_encrypt增加 iv 参数。
 parse_url在 URL 解析失败时将不会产生 E_WARNING 级别的错误。
5.3.2crypt修正了 Blowfish 算法由于非法循环导致的问题,返回“失败”字符串(“*0” 或 “*1”)而不是转而使用 DES 算法。
 crypt基于 Ulrich Drepper 的实现,新增基于 SHA-256 算法和 SHA-512 算法的 crypt。
 flock在文件资源句柄关闭时不再自动解锁。现在要解锁必须手动进行。
5.3.1get_defined_constants仅作用于 Windows:内核常量归类到 Core,之前是 mhash。
 rename可以在 Windows 上跨驱动器 rename 文件。
5.3.0 起get_classobject 默认参数现在是 NULL ,所以,现在传入 NULL 到 object 参数时,和没传参数的结果一样。
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::listIdentifiers添加可选的 what 和 country 参数。
 acoshThis function is now available on all platforms
 array_multisortarray1_sort_flags 增加选项 SORT_LOCALE_STRING。
 array_reduce修改 initial 类型,允许传入 mixed,之前只能是 integer。
 array_searchAs with all internal PHP functions as of 5.3.0, array_search returns NULL if invalid parameters are passed to it.
 asinh此函数在所有平台上均可用
 atanh此函数在所有平台上都可以用了
 call_user_func对面向对象里面的关键字的解析有所增强。在此之前,使用两个冒号来连接一个类和里面的一个方法,把它作为参数来作为回调函数的话,将会发出一个E_STRICT的警告,因为这个传入的参数被视为静态方法。
 call_user_func_array对面向对象里面的关键字的解析有所增强。在此之前,使用两个冒号来连接一个类和里面的一个方法,把它作为参数来作为回调函数的话,将会发出一个E_STRICT的警告,因为这个传入的参数被视为静态方法。
 checkdnsrr这个函数在Windows平台上也可以使用了。
 clearstatcache增加了可选的 clear_realpath_cache 和 filename 参数.
 copy增加了对 context 的支持。
 cryptPHP 现在包含了它自己的 MD5 Crypt 实现,包括标准 DES 算法,扩展的 DES 算法以及 Blowfish 算法。如果系统缺乏相应的实现,那么 PHP 将使用它自己的实现。
 date_default_timezone_set现在会抛出 E_WARNING 而不是 E_STRICT。
 define_syslog_variablesThis function now throws an E_DEPRECATED notice.
 dl由于稳定性,dl 在某些 SAPI 中被禁用。仅仅允许 dl 的 SAPI 为 CLI 和 Embed。 使用 扩展加载指令 作为替代。
 dns_get_record可以是在windows平台上使用这个函数了。
 dns_get_record在此版本之前,如果给参数authns传入值,则必须同时传入addtl的值。
 expm1此函数在所有平台上均可用
 fgetcsv增加了 escape 参数。
 fnmatch此函数开始在 Windows 平台上生效。
 func_get_arg该函数可以在参数列表中使用。
 func_get_argIf this function is called from the outermost scope of a file which has been included by calling include or require from within a function in the calling file, it now generates a warning and returns FALSE. (不知道如何翻译跟好,直接参考例2即可明白)
 func_get_args该函数可以在参数列表中使用。
 func_get_argsIf this function is called from the outermost scope of a file which has been included by calling include or require from within a function in the calling file, it now generates a warning and returns FALSE. (不知道如何翻译跟好,直接参考例2即可明白)
 func_num_argsThis function can now be used in parameter lists.
 func_num_argsIf this function is called from the outermost scope of a file which has been included by calling include or require from within a function in the calling file, it now generates a warning and returns -1.
 get_cfg_varget_cfg_var 被修复,能够返回 "array" 的 ini 选项。
 get_defined_constants内核常量归类为 Core,之前是 internal。在 Windows 上,内核常量归类到 mhash。
 get_object_varsThis function now returns NULL if the object isn't an object.
 getimagesizeAdded icon support.
 getmxrrWindows 平台上也能用这个函数了。
 getopt参数 longopts 在所有系统平台上均可用。
 getopt此函数不再依赖于操作系统,现在也能够在 Windows 上运行。
 getopt增加了可选值的支持(用"::"指定)。
 getopt支持 "=" 作为 参数和值的分隔符。
 hash_algos加入对 md2,ripemd256,ripemd320,salsa10,salsa20,snefru256 和 sha224 哈希算法的支持。
 htmlentities增加常量 ENT_IGNORE。
 htmlspecialchars增加常量 ENT_IGNORE。
 imagecolorclosesthwb在 Windows 平台上可用
 imagefilterPixelation support (IMG_FILTER_PIXELATE) was added.
 ini_get当配置项不存在,之前会返回空字符串,现在会返回 FALSE。
 ini_get_all增加参数 details。
 json_decodeAdded the optional depth. The default recursion depth was increased from 128 to 512
 link该功能在 Windows 平台下开始有效(Vista、 Server 2008 或更高版本)。
 linkinfoWindows 平台上开始可用(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 now throws E_DEPRECATED notice if the is_dst parameter is used.
 nl2br新增可选的 is_xhtml 参数。在此之前,总是插入 '<br />'。
 openssl_open添加了 method 参数
 openssl_seal添加 method 变量。
 parse_ini_fileAdded optional scanner_mode parameter. Single quotes may now be used around variable assignments. Hash marks (#) may no longer be used as comments and will throw a deprecation warning if used.
 pg_lo_importThe optional object_id was added.
 property_existsThis function checks the existence of a property independent of accessibility.
 rawurlencode现在符合了RFC 3986。
 readlink此函数在 Windows 平台下可用(Vista、Server 2008 或更高版本)。
 realpath在之前的版本中,在 *BSD 系统上,如果仅仅是 path 不存在的话,realpath 并不会像其它系统那样返回 FALSE。
 register_tick_functionTicks are now supported on threaded web server modules.
 round引入了 mode 参数
 session_start如果函数调用失败返回 FALSE, 之前版本返回了 TRUE。
 setlocaleThis function now throws an E_DEPRECATED notice if a string is passed to the category parameter instead of one of the LC_* constants.
 stream_context_create增加了可选参数 params 。
 stream_socket_pair这个函数在windows平台不可用
 stristr新增可选的 before_needle 参数。
 strlenPrior versions treated arrays as the string Array, thus returning a string length of 5 and emitting an E_NOTICE level error.
 strstr新增可选的 before_needle 参数。
 symlink此函数在 Windows 平台上可用(Vista、Server 2008 或更高版本)。
 time_nanosleep至此之后该函数在Windows平台下可用。
 time_sleep_until自此,函数在Windows平台可用。
 touch能够修改 Windows 下目录的最后修改时间。
5.2.11get_defined_constantscategorize 参数现在可以合适得被处理。 在此之前,categorize 被解释为 !is_null($categorize),导致任何非 NULL 的值会强制常量分类。
5.2.10array_randThe resulting array of keys is no longer shuffled.
 array_unique修改回 sort_flags 的默认值为 SORT_STRING。
 ip2long再此之前的版本, ip2long 有时会返回即使这不是一个IPV4的标准地址的数字地址。
 natsort用零填充的数字字符串 (例如 '00005')现在本质上会忽略掉填充的前道零。
5.2.9array_unique增加可选选项sort_flags,默认值 SORT_REGULAR。 5.2.9 之前,此函数内部使用 SORT_STRING 排序。
5.2.7parse_ini_fileOn syntax error this function will return FALSE rather than an empty array.
 roundround 的内部运作修改符合 C99 的标准。
5.2.6fopen增加了选项 'c' 和 'c+'
5.2.5addcslashesThe escape sequences \v and \f were added.
 imagefilterAlpha support for IMG_FILTER_COLORIZE was added.
5.2.4checkdnsrr增加了TXT的记录类型。
 get_loaded_extensions添加了可选的 zend_extensions 参数。
 parse_ini_file由数字组成的键名和小节名会被 PHP 当作整数来处理,因此以 0 开头的数字会被当作八进制而以 0x 开头的会被当作十六进制。
 stream_wrapper_register添加 flags 参数.
5.2.3getimagesizeRead errors generated by this function downgraded to E_NOTICE from E_WARNING.
 htmlentities增加参数 double_encode。
 htmlspecialchars增加参数 double_encode。
 json_decodeThe nesting limit was increased from 20 to 128
 PDOStatement::getColumnMetatable 字段
5.2.2 - 5.2.6substrIf the start parameter indicates the position of a negative truncation or beyond, false is returned. Other versions get the string from start.
5.2.2ftp_ssl_connect以前版本中,如果无法使用 SSL 连接,将会返回一个非 SSL 的连接, 在 5.2.2 版本中修改为返回 FALSE
 phpinfo增加了“已加载的配置文件”信息,之前只存在“配置文件路径(php.ini)"。
 proc_terminate之前的版本被用来销毁进程 resource。
 token_get_allLine numbers are returned in element 2
5.2.1json_decodeAdded support for JSON decoding of basic types.
 memory_get_peak_usage使用此函数无需在编译时加上 --enable-memory-limit 选项。
 memory_get_usage不需要在编译时使用 --enable-memory-limit 选项就能够使用这个函数。
 mt_srandThe Mersenne Twister implementation in PHP now uses a new seeding algorithm by Richard Wagner. Identical seeds no longer produce the same sequence of values they did in previous versions. This behavior is not expected to change again, but it is considered unsafe to rely upon it nonetheless.
 proc_open为 other_options 参数增加 bypass_shell 选项。
5.2.0base64_decode增加了 strict 。
 curl_multi_info_readmsgs_in_queue被加入。
 imagettftextIt is now possible to specify an hexadecimal entity in text.
 mb_strrpos增加了可选参数 offset。
 memory_get_peak_usage添加参数 real_usage。
 memory_get_usage增加了参数 real_usage。
 openssl_verify添加了 signature_alg 参数。
 pathinfo添加了常量 PATHINFO_FILENAME。
 session_get_cookie_params在返回数组中加入 “httponly”。
 session_set_cookie_params加入 httponly 参数。
 setcookie添加 httponly 参数。
 setrawcookie增加了 httponly 参数。
 simplexml_load_fileThe optional parameter is_prefix was added.
 simplexml_load_stringThe optional parameter is_prefix was added.
 PDOStatement::executeinput_parameters 中的键名必须和 SQL 中声明的相匹配。PHP 5.2.0 之前默认忽略。
 SimpleXMLElement::attributesThe optional parameter is_prefix was added.
 SimpleXMLElement::__constructAdded the ns and is_prefix parameters.
5.1.3curl_getinfo引入CURLINFO_HEADER_OUT.
 get_headers自 PHP 5.1.3 起本函数使用默认的流上下文,其可以用 stream_context_get_default 函数设定和修改。
 http_build_query方括号也会被转义。
 mb_get_info实体 "mail_charset"、"mail_header_encoding" 和 "mail_body_encoding" 开始有效。
5.1.2date_default_timezone_set本版本开始验证 timezone_identifier 参数。
 http_build_query加入了参数 arg_separator。
 parse_url增加了参数 component。
 SimpleXMLElement::__constructAdded the options and data_is_url parameters.
5.1.1dateformat 参数标准的可用日期/时间格式常量见: 常量
5.1.0ctype_digit在 PHP 5.1.0 之前,当 text 是一个空字符串的时候,该函数将返回 TRUE 。
 date时间戳的有效取值范围为 GMT 时间的 1901 年 12 月 13 日至 GMT 时间的 2038 年 1 月 19 日。 (32 位有符号整数的取值范围)。 但是,在 PHP 5.1.0 之前的版本,在某些系统(例如 Windows)上有效取值范围为 1970 年 1 月 1 日至 2038 年 1 月 19 日。
 date现在发布 E_STRICT 和 E_NOTICE 时区错误。
 date_sunrise现在发布 E_STRICT 和 E_NOTICE 时区错误。
 date_sunset现在发布 E_STRICT 和 E_NOTICE 时区错误。
 explode支持负数的 limit
 file_get_contentsAdded the offset and maxlen parameters.
 file_put_contents添加了对 LOCK_EX 的支持和 data 参数处理 stream 资源的功能。
 gettimeofday增加了参数 return_float。
 globGLOB_ERR was added
 imagerotate新增: ignore_transparent 。
 localtime现在发布 E_STRICT 和 E_NOTICE 时区错误。
 md5_file函数改用流 API。这意味着能够配合封装器使用该函数,比如 md5_file('http://example.com/..')。
 mktimeWhen called with no arguments, mktime throws E_STRICT notice. Use the time function instead.
 mktime现在发布 E_STRICT 和 E_NOTICE 时区错误。
 mktimeis_dst 参数被废弃。出错时函数返回 FALSE 而不再是 -1。修正了本函数可以接受年月日参数全为零。
 stream_get_contents增加参数 offset 。
 strftime现在发布 E_STRICT 和 E_NOTICE 时区错误。
5.0.0apache_get_modules可用于Apache 1或PHP Apache 2 filter API。 在此之前, 只可用于 Apache 2 handler API。
 apache_get_version可用于 Apache 2 filter API.
 checkdnsrr增加了AAAA的记录类型。
 dirnamedirname 的操作从 PHP 5.0.0 版开始是二进制安全的。
 fgetss参数 length 从 此开始可选。
 file增加了参数 context
 filePrior to PHP 5.0.0 the flags parameter only covered include_path and was enabled with 1
 file_get_contentsAdded context support.
 file_put_contentsAdded context support
 is_executableis_executable 开始可用以于 Windows。
 jdtojewish增加了参数 fl。
 mkdirmkdir 也可用于某些 URL 封装协议。参见 的列表看看 mkdir 支持哪些 URL 封装协议。
 mkdir添加 recursive 参数。
 opendirpath 支持 ftp:// URL wrapper
 parse_ini_file该函数也开始处理选项值内的新行。
 realpath在此之前的版本中,如果 path 传入了空或者 NULL,将导致 realpath 返回脚本当前的目录。
 renamerename 也可用于某些 URL 封装协议。参见 的列表看看 rename 支持哪些 URL 封装协议。
 rmdir自 PHP 5.0.0 起 rmdir 也可用于某些 URL 封装协议。参见 的列表看看 rmdir 支持哪些 URL 封装协议。
 socket_create增加 AF_INET6 支持。
 strip_tagsstrip_tags 变为二进制安全的。
 strrpos参数 needle 可以是一个多字符的字符串。
 strrpos引入 offset 参数。
 unlink自 PHP 5.0.0 起 unlink 也可以用于某些 URL 封装协议。参考 中的列表看哪些封装协议支持 unlink。