本篇文章向大家介绍PHP8的一些语法新特性,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
PHP8的一些语法新特性
命名参数
function test($name, $age='18', $sex='男') { echo $name . '-------' . $age . '--------'. $sex; } test('Landy', age: 20, sex: '女'); //Landy-------20--------女
还可以跳过参数
test('Landy', sex: '女'); //Landy-------18--------女
参数的顺序可以不固定了
test(age: 30, sex: '女', name: 'tom'); //tom-------30--------女
<?php class Person { public static function test($name, $age) { echo $name.'|'.$age; } }
Person::test(age:100, name:'Landy'); //Landy|100
还可以这样
function test1($arg1,$arg2, ...$args) { print_r($args); } test1(1,2, name:'Landy', age:11, sex:2); Array ( [name] => Landy [age] => 11 [sex] => 2 )
向下不兼容,PHP8.0 后的函数都可以使用命名参数
match 表达式
$a = 8.0; echo match($a) { 8.0 => '匹配8.0', '8.0' => 'test 8.0', default => '没有匹配值' }; //匹配8.0
可以和表达式匹配
function test3() { return 8.0; } $a = 8.0; echo match($a) { test3() => '匹配函数', 8.0 => '匹配8.0', '8.0' => 'test 8.0', 9,10,11 => '多次匹配', //多次匹配 default => '没有匹配值' }; //匹配函数
match 为强类型匹配,还有一点需要注意的是之前 match (){} 花括号后要写 ;
,switch 是不用的
构造函数里可直接定义属性
class Point { public function __construct( public float $x = 1.0, public float $y = 2.0, public float $z = 3.0, ) {} } echo (new Point())->x; // 1
推荐学习:《PHP视频教程》
以上是聊聊PHP8的一些语法新特性的详细内容。更多信息请关注PHP中文网其他相关文章!
声明
本文转载于:learnku。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
1 个月前ByDDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前ByDDD
在哪里可以找到原子中的起重机控制钥匙卡
1 个月前ByDDD
如何修复KB5055523无法在Windows 11中安装?
2 周前ByDDD
Inzoi:如何申请学校和大学
3 周前ByDDD

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3汉化版
中文版,非常好用

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!