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

Php80的一些新特性分享

白癜风用什么治疗 http://baidianfeng.39.net/a_bdfys/201203/8458713.html

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

1、联合类型

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

以前版本:

functionsumNum(intnumX,intnumY)

{

returnnumX+numY;

}

functionsumNum(floatnumX,floatnumY)

{

returnnumX+numY;

}

php8,可以写成这样子:

functionsumNum(int

floatnumX,int

floatnumY)

{

returnnumX+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{

publicstringname;

publicintgender;

publicfunction__construct(stringname,intgender){

this-name=name;

this-gender=gender;

}

}

php8可以写成这样子:

classPerson{

publicfunction__construct(publicstringname,publicintgender){

}

}

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




转载请注明:http://www.aierlanlan.com/tzrz/3940.html

  • 上一篇文章:
  •   
  • 下一篇文章: