php7的新特性有哪些,php7新特性有哪些

现在php已经升级到php7了,那么php有哪些打的变化呢?

现在就来说说:

1、标量参数类型声明declare(strict_types=1); //是否开启严禁模式

function test(array $a){

return count($a);

}

2、返回类型声明

function test(array $a):int{

return count($a);

}

3、语法糖

$username=$_GET['username']??"no"

4、比较运算符 <=>  太空船操作符(组合比较符)

1<=>2  如果第一个数小于第二个数 返回 -1  等于返回0 、 大于返回 1

5、命名变量上的使用

use \helper\ClassA;

use \helper\ClassB;

php7

use \helper\{ClassA,ClassB}

6、define 定义数组

php5.6 const 可以定义数组了,

php7中可以使用define去定义数组了

7、匿名函数

$anonymous_func = function(){return 'function';};

echo $anonymous_func(); // 输出function

8、set_exception_handler() 不再保证收到的一定是 Exception 对象

在 PHP 7 中,很多致命错误以及可恢复的致命错误,都被转换为异常来处理了。 这些异常继承自 Error 类,

此类实现了 Throwable 接口 (所有异常都实现了这个基础接口)。

PHP7进一步方便开发者处理, 让开发者对程序的掌控能力更强. 因为在默认情况下,

Error会直接导致程序中断, 而PHP7则提供捕获并且处理的能力, 让程序继续执行下去, 为程序员提供更灵活的选择。

9、

匿名类

现在支持通过new class 来实例化一个匿名类,实例如下interface Logger {

public function log(string $msg);}class Application {

private $logger;

public function getLogger(): Logger {

return $this->logger;

}

public function setLogger(Logger $logger) {

$this->logger = $logger;

}}$app = new Application;$app->setLogger(new class implements Logger {

public function log(string $msg) {

echo $msg;

}});var_dump($app->getLogger());

//php7新特性

//标量参数类型声明

function test(array $a){

return count($a);

}

// echo test(['aa','bb']);

// echo test(123);

//PHP Fatal error:  Uncaught TypeError: Argument 1 passed to test() must be of the type array, integer given, called in D:\phpStudy\WWW\test\php7.php on line 14 and defined in D:\phpStudy\WWW\test\php7.php:6

//

//

//

function test2($a):int{

return count($a);

// return [];

}

//PHP Fatal error:  Uncaught TypeError: Return value of test2() must be of the type integer, array returned in //D:\phpStudy\WWW\test\php7.php:20

//Stack trace:

//#0 D:\phpStudy\WWW\test\php7.php(23): test2(123)

// echo test(['aa','bb']);

echo test2(123);

//语法糖的写法

echo $_GET['aaa']??'no';

//4.<=> 比较运算符

//就是看两个表达式值的大小,三种关系: = 返回0、 返回 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值