c语言编程笔录

首页 >   > 笔记大全

笔记大全

汇总php7所有版本新特征推荐

更新时间:2023-12-07

1. 标量类型声明

在PHP7中,引入了新的语法来支持更严格的函数参数和返回类型。这些语法是针对标量(int、string、float和bool)类型的强制类型声明。这意味着开发人员可以明确指定这些标量类型,以确保函数只能接受和返回这些标量类型的值。


function testing(int $a, string $b, float $c, bool $d){
   var_dump($a, $b, $c, $d);
}
testing("1", "test", 1.5, "true");
// 结果:
// Fatal error: Uncaught TypeError: Argument 1 passed to testing() must be of the type int, string given……

testing(1, "test", 1.5, true);
// 结果:
// int(1) string(4) "test" float(1.5) bool(true)

2.组合比较符

组合比较符(<=>)是PHP7的另一个新功能。它允许比较两个值并根据比较的结果返回 -1、0或1。这与strcmp()和其他函数非常相似,但组合比较符可以比较任何类型的值,而不仅仅是字符串。


// 获取两个变量的值
$a = 5;
$b = 10;

// 比较两个变量并打印输出结果
echo $a <=> $b; // 输出结果为 -1,因为 $a 小于 $b

3. NULL 合并运算符

NULL 合并运算符(??)是PHP7另一个重要的新功能。 使用此 运算符,可以在变量为NULL时提供默认值。


// 尝试获取$page的值 
// 如果$page是NULL,则将$page设为1
$page = $_GET['page'] ?? 1;

4. 匿名类

PHP7引入了匿名类的概念。 与匿名函数类似,我们可以在调用时创建匿名类,而无需显式定义类。


// 定义一个匿名类
$obj = new class {
    public function hello(){
        echo 'Hello World';
    }
};
 
// 调用匿名类中的方法
$obj->hello(); // 输出结果为:Hello World