所在的位置: php >> php市场 >> Php80的一些新特性分享

Php80的一些新特性分享

Php8.0带来了很多性能提升有新特性,下面我通过举例给大家介绍php8的部分新特性:

1、联合类型

一个变量可以定义多种数据类型,例如:以前要写一个函数计算两个数值相加,要分别定义整数类型和浮点类型,现在只要一个函数就搞定了。

以前版本:

functionsumNum(int$numX,int$numY)

{

return$numX+$numY;

}

functionsumNum(float$numX,float$numY)

{

return$numX+$numY;

}

php8,可以写成这样子:

functionsumNum(int

float$numX,int

float$numY)

{

return$numX+$numY;

}

2、命名参数

以前的版本,函数传参数必须按函数定义时的参数顺序传参数,php8后,可以打乱参数顺序,但调用函数时要加入参数名,例如:

$worldPos=strops(“HelloWorld!”,”World”);

到php8,可以写成这样子:

$worldPos=strops(haystack:“HelloWorld!”,needle:”World”);

或者

$worldPos=strops(needle:”World”,haystack:“HelloWorld!”);

3、空运算符

以前要读取一个对象的属性,要先用if语句判断对象是不是null,语句比较繁琐,例如要取一个用户购物车里的产品数量:

$itemCount=null;

if($user!==null){

$cart=$user-getCart();

if($cart!==null){

$itemCount=$cart-itemCount;

}

}

到php8可以这样写:$itemCount=$user?-getCart()?-itemCount;

4、构造函数属性提升

对于类的构造函数,以前类的属性要先定义,才能从构造函数传值给类属性,比较繁琐,php8以后可以直接在构造函数里定义类属性。

以前版本

classPerson{

publicstring$name;

publicint$gender;

publicfunction__construct(string$name,int$gender){

$this-name=$name;

$this-gender=$gender;

}

}

php8可以写成这样子:

classPerson{

publicfunction__construct(publicstring$name,publicint$gender){

}

}

今天先分享这些内容,以后有新的内容继续分享。




转载请注明:http://www.aierlanlan.com/rzdk/2111.html