新特性每一个版本都会有新特性了,这里我们来看php7.1新特性吧,希望文章能够让各位理解到php7.1新特性基本用法哦。

Allow specifying keys in list()

Square bracket syntax for array destructuring assignment

下面这个支持效果,还是不错的

list($a, $b) = array($b, $a);

[$a, $b] = [$b, $a];

foreach ($points as ["x" => $x, "y" => $y]) {
    var_dump($x, $y);
}

这个在遍历的时候会很方便,也很强大

感觉这两个特性会使数组使用便捷一些

Nullable Types
这个就是一个简写的标量或null,用处有,但感觉不大

Generalize support of negative string offsets
这个特性好,可以简化一些简单的字符串处理

Support Class Constant Visibility
暂时想不到太大用处,只是将类常量完善了

Void Return Type
这个限制函数返回值有用
同时希望miexd,number什么的也尽快出来

Catching Multiple Exception Types
多cacth异常感觉没什么用,可能还是不太会用异常吧

剩下的都是比较明显的,没啥好讨论的改进,所以就一块儿说吧

字符串索引可使用负数

$str='abcdef';
var_dump($str[-2]); // => string(1) "e"
 
$str{-3} = '.';
var_dump($str);        // => string(6) "abc.ef"
 
var_dump(isset($str{-4}));    // => bool(true)
 
var_dump(isset($str{-10}));    // => bool(false)

Void 返回类型

如果一个方法被设定成返回 void 类型,那么它将不能返回任何值

function foo(): void
{
    return 1; // 报错,不能有返回
}
 
function foo(): void
{
    return; // 正确
}
 
function foo(): void
{
    // 也正确
}

但要注意 null 是不能返回的:

function foo(): void
{
    return null; // 这也是不行的!
}

最后,如果子类要覆盖父类的某个返回 void 的方法,返回类型是不可以更改的。

类常量可见性设置

class Token
{
    // 默认是 public 属性
    const PUBLIC_CONST = 0;
 
    // 可添加可见性设置
    private const PRIVATE_CONST = 0;
    protected const PROTECTED_CONST = 0;
    public const PUBLIC_CONST_TWO = 0;
 
    // 所有常量只能设置一次可见性
    // 也可以这么写
    private const FOO = 1, BAR = 2;
}

多种 Exception 同时 Catch

try {
   // Some code...
} catch (ExceptionType1 | ExceptionType2 $e) {
   // 如果有不同的异常想用一种方式来处理的时候,就很有用了
} catch (Exception $e) {
   // ...
}

PHP 7.1 的新特性就是这些了.

标签: support,points,字符串,null,文章