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>';
}

最新文章

  1. 征途 bzoj 4518
  2. 状态压缩 HDU4539 郑厂长系列故事——排兵布阵
  3. linux 中php以及nginx的重启命令
  4. 数据结构算法C语言实现(五)---2.3重新定义线性链表及其基本操作
  5. 队列 - 从零开始实现by C++
  6. 【转发】RedHat Enterprise Linux 6.4 使用 Centos 6 的yum源问题
  7. Saving structured data with json
  8. CELL_PHOTO_IDENTIFIER
  9. Oracle用户解锁的三种办法及默认的用户与密码
  10. JavaSctipr 兼容、技巧、牛角尖
  11. MSSQL2005 修改数据库的排序规则
  12. ios UIKit动力 分类: ios技术 2015-07-14 12:55 196人阅读 评论(0) 收藏
  13. linux c编程:初识进程与线程
  14. 我做的python常用的小技巧
  15. tf.py_func
  16. tensorflow安装-【老鱼学tensorflow】
  17. Windows下Anaconda的安装和简单使用
  18. hashcat 中文文档
  19. 【函数封装】javascript判断移动端操作系统为android 或 ios 或 iphoneX
  20. 强化学习6-MC与TD的比较-实战

热门文章

  1. python概念-Socket到底有多骚
  2. go 函数介绍
  3. Testbench学习——$fopen/$display/$fclose
  4. 深度解析:python之浅拷贝与深拷贝
  5. Maven 基础知识
  6. SQL行列转换的另一种方法
  7. Effective STL 学习笔记 32 ~ 33
  8. 20155309 《java程序设计》实验四Android程序设计
  9. 通过构造系统服务分发实现拦截&amp;过滤 (仿360游戏保险箱)
  10. iOS图片缓存