PHP7新特性总结
现如今,随着php的门槛越来越高,光会做不会说已经无法满足现在的面试官口味了。这不,天天用着php7,平时用着php7的语法,但是临到头不知道
对比php5有哪些新特性,着实有点尴尬了。现在呢,我们抽个时间来总结下。
1.类型的声明。
可以使用字符串(string)、整数、浮点、布尔值来声明函数的参考类型和返回值
declare(strict_types=1); ====> 必须放在文件的第一行
function add(int $a,int $b): int{
return $a+$b;
}
echo add(1,2); ====> 输出3
echo add(1.5,2.5); =====> 抛出错误异常
2.新增操作符<=>。俗称太空船运算符
新增加的太空船运算符(组合比较符<=>)用于比较两个表达式 $a 和 $b,如果 $a 小于、等于或大于 $b时,它分别返回-1、0或1。
1 <=> 2 左边小于右边 输出=====> -1
1 <=> 1 左边等于右边 输出=====> 0
2 <=> 1 左边大于右边 输出=====> 1
3.新增操作符 ?? 。
这个可以说对于大家而言,php7刚出的时候就已经很熟悉了 。左右相当于 isset
比如
$a = isset($_GET['user']) ? $_GET['user] : 0; ======> $a = $_GET['user'] ?? 0;
4.define 可以定义常量数组了
define('ARR',4); =========> define('ARR',[10,30]); echo ARR[0]; 输出10
5.支持匿名函数了
这点有点向python靠拢,python也是支持匿名函数的
python3写法:
lambda arg1, arg2: arg1 + arg2 # arg1, arg2可以传入默认值得到arg1+arg2的合
php写法:
$anonymous_func = function (){return '2222';};
echo $anonymous_func(); 输出=======> 2222
5.命名空间优化
以前写法:
use Admin\Bar\ClassA;
use Admin\Bar\ClassB;
现在写法:
use Admin\Bar\{ClassA,ClassB}
常用的就是上面5点,那么废弃了哪些呢,这里我们还是描述常用的。
我们知道做微信公众号时,扫描带参二维码时,我们通常使用:
$HTTP_RAW_POST_DATA ======> $GLOBALS['HTTP_RAW_POST_DATA']来获取数据,现在php7已经不支持了,
目前我使用的是
file_get_contents("php://input"); 来替代它了

浙公网安备 33010602011771号