当前位置:  首页  >  PHP教程  >  PHP 基础  >  基础教程

从PHP5到PHP7的注意事项(2)PHP7的一些新特性

从PHP5到PHP7的注意事项(2)PHP7的一些新特性

1. define定义常量不仅仅只支持标量,还支持了数组


define('PHPXY', array(
    
'凤姐',
    
'芙蓉姐姐',
    
'杨幂是臭脚'
));

echo 
PHPXY[1]; // 输出的结果是“芙蓉姐姐”
?>


2.比较的时候支持<=> 可以比较字符串,数组,整型。

php

// Integers
echo <=> 1// 0
echo <=> 2// 1
echo <=> 1// 1

PHP学院评:我们认为实际用户不大,在实际工作中使用量不会很高


3.在PHP7 中支持了 函数的强制参数类型指定


// Coercive mode
function sumOfInts(int ...$ints)
{
    return 
array_sum($ints);
}

var_dump(sumOfInts(2'3'4.1));


//本例中会输出9,你想想为什么哟?——因为强制规定为了整型


PHP学院评:function funcName(... 参数) 是PHP5.6开始支持的。不要认为是PHP7里的知识点



4. 返回类型也在强制进行规定


function arraysSum(array ...$arrays): array
{
    return 
array_map(function(array $array): int {
        return 
array_sum($array);
    }, 
$arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));



5. 新建了call方法在外部来调用,更短的方式将匿名函数,追加进对向中且完成调用

class {private $x 1;}

// Pre PHP 7 code
$getXCB = function() {return $this>x;};
$getX $getXCB>bindTo(new A'A'); // intermediate closure
echo $getX();

// PHP 7+ code
$getX = function() {return $this>x;};
echo 
$getX>call(new A);


6. 成员方法中也可以规定必须要返回某个类类型


class {}
class 
extends {}

class 
C
{
    public function 
test() : A
    
{
        return new 
A;
    }
}

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有