PHP7.x新特性
2024-08-31 14:36:03
1、太空船操作符
太空船操作符用于比较两个表达式。 当$a小于、 等于或大于$b时它分别返回-1、 0或1。
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
// Floatsecho 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
2、返回值类型声明
指定返回值是整型
function f($a):int{
return '123';
}
var_dump(f(1));
3、null合并运算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; //php5
$username = $_GET['user'] ?? 'nobody'; //php7
4、匿名类,参照匿名函数理解
(new class {
public function a(){
echo 123;
}
})->a();
5、指定函数的传参类型
function test(string $a,int $b){
echo $a,$b;
}
test('a',1);
6、传入的参数可为空(Nullable) 类型
类型现在允许为空, 当启用这个特性时, 传入的参数或者函数返回的结果要么是给定的类型, 要么是 null 。 可以通过在类型前面加上一个问号来使之成为可为空的。
function test(?string $username,int $age){
echo "姓名: {$username} -- 年龄: {$age}<hr>";
}
test('小明',20);
test(null,22);
7、Void函数
对于 void 函数来说, null 不是一个合法的返回值。可以不写return 或 return ; 就可以;写return null会报错。
function test() : void {
return; //表示返回void
echo 111;
//return null; # 报错, 因为return null不能替换return;}
test();
8、list()支持关联数组
现在list()支持在它内部去指定键名。 这意味着它可以将任意类型的数组 都赋值给一些变量(与短数组语法类似)
$data = [
['id' => 1, 'name' => 'Tom'],
['id' => 2, 'name' => 'jack'],
];
echo '<hr>';
// php7.1写法
foreach($data as list('id' => $id, 'name' => $name)){
echo $id . '----' . $name . '<br>';
}
最新文章
- 征途 bzoj 4518
- 状态压缩 HDU4539 郑厂长系列故事——排兵布阵
- linux 中php以及nginx的重启命令
- 数据结构算法C语言实现(五)---2.3重新定义线性链表及其基本操作
- 队列 - 从零开始实现by C++
- 【转发】RedHat Enterprise Linux 6.4 使用 Centos 6 的yum源问题
- Saving structured data with json
- CELL_PHOTO_IDENTIFIER
- Oracle用户解锁的三种办法及默认的用户与密码
- JavaSctipr 兼容、技巧、牛角尖
- MSSQL2005 修改数据库的排序规则
- ios UIKit动力 分类: ios技术 2015-07-14 12:55 196人阅读 评论(0) 收藏
- linux c编程:初识进程与线程
- 我做的python常用的小技巧
- tf.py_func
- tensorflow安装-【老鱼学tensorflow】
- Windows下Anaconda的安装和简单使用
- hashcat 中文文档
- 【函数封装】javascript判断移动端操作系统为android 或 ios 或 iphoneX
- 强化学习6-MC与TD的比较-实战