熟悉php
调用时的引用传递被移除mysql
<?php function foo(&$var) { $var = 'hello, word'; var_dump($var); } $var = 1111; foo($var);//正确的调用方法 foo(&$var);//过时用法,报出一个警告错误 ?>
在日期与时间扩展中,再也不支持时区使用 TZ(TimeZone)环境变量设置
php.ini中强烈建议配置date.timezone
或者在程序入口脚本配置环境时,使用date_default_timezone_set()设定时区算法
如今参数名使用全局变量将会致使一个致命错误sql
<?php //这样的代码,报致命错误 function foo($_GET, $_POST) {};
当使用两个空数组做为参数时, array_combine() 如今返回 array() 而不是 FALSE数据库
了解windows
break 和 continue 语句再也不接受可变参数数组
<?php define('VAR', 10); while(true) { while(true) { //正确写法 break 10; continue VAR; //错误写法 break 10 - $var; contnue $var * 10; } }
NULL 、FALSE 、或 一个空字符串被添加成一个对象的属性时将发出一条 E_WARNING 级别的错误,而不是 E_STRICT安全
移除的函数session
define_syslog_variables() import_request_variables() session_is_registered() 、 session_register() 以及 session_unregister() mysqli_bind_param() 、 mysqli_bind_result() 、 mysqli_client_encoding() mysqli_fetch() 、 mysqli_param_count() 、 mysqli_get_metadata()
过期的函数函数
mcrypt_generic_end() mysql_list_dbs()
sqlite扩展被移到 pecl扩展中,不包含在PHP发行版中
熟悉
了解
mcrypt 中的下列函数过时(在将来版本会被移除)
mcrypt_cbc() mcrypt_cfb() mcrypt_ecb() mcrypt_ofb()
intl 中的废弃
IntlDateFormatter::setTimeZoneID() 和 datefmt_set_timezone_id() 如今被废弃
可分别使用 IntlDateFormatter::setTimeZone() 方法和 datefmt_set_timezone() 函数做为替代