CY-Left

PHP开发语言

PHP 7 新功能

  1. 函数参数及返回值的数据类型 (PHP 7.1)
// 函数参数类型设定
// 这里如果不加 ?, 可接受 null
function _test(?int $int)
{
    return $int;
}

php 会尝试做一次类型转换, 失败即报错

// 返回值类型设定
function _test($int) 😕 int
{
    return $int;
}

这里如果不加 ?, 返回类型可接受 null, 否则必须有返回值, 另外 7.2 追加了强制不返回的 void 返回类型, null 也不被允许, 但是可以 return ;

  1. 太空船运算符
$c = $a > $b ? 1 : ( $a==$b ? 0 : -1 );

$c = $a <=> $b;
$a > $b, 返回 1

$a == $b, 返回 0

$a < $b, 返回 -1
  1. 常量可见性
const PUBLIC_CONST_A = 0;    // 可以自定义常量的可见范围
public const PUBLIC_CONST_B = 2;
protected const PROTECTED_CONST_C = 3;
private const PRIVATE_CONST_D = 4;    
private const HELLO = 1, WORLD = 2; // 同时申明多个常量, 类型相同
  1. 字符串偏移
var_dump("abcdef"[-2]); // evar_dump(strpos("aabbcc", "b", -3)); //3
  1. 错误处理
    1. 多级错误捕获
    try {
    // Some code...
    } catch (ExceptionType1 | ExceptionType2 $e) {
    // 对于 ExceptionType1 和 ExceptionType2 的处理
    } catch (Exception $e) {
    // ...}
  1. null 合并操作 ??

  2. 常量数组

  3. namespace 批量导入

  4. throwable 接口

  5. intdiv

  6. list 方括号写法

  7. foreach 遍历数组

https://www.cnblogs.com/summerblue/archive/2018/04/13/8818774.html

http://www.php.cn/php/php-new-features-7.html

https://www.w3cschool.cn/phpseven/phpseven-lfei2e04.html

本文虽拙,却也系作者劳动,转载还请保留本文链接: http://cyleft.com/?p=813