以下注释分别是PHP7.0&7.1的部分新特性。PHP7.0??运算符$foo=null;$bar=$foo??123;//等价于$bar=isset($bar)?$bar:123parametertype,returntypeandstrictmode//在严格模式下,如果参数类型不匹配,会抛出错误declare(strict_types=1);functionfn(int$a):int{echo$a;}fn(1.2);当组合比较器相等时返回0;前者大于后者返回1;如果后者大于前者,则后者返回-1;var_dump($a<=>$b);$a=0;$b="abc";var_dump($a<=>$b);//注意,与数字比较时,字符串将被视为0;具有返回值函数的生成器generator(){yield1;产量2;return"a";}$generator=generator();foreach($generatoras$val){var_dump($val);}var_dump($generator->getReturn());当没有返回值,使用$generator->getReturn()时,会返回null。而且,当生成器没有完全输出时,使用$generator->getReturn()会报错。函数生成器(){产量1;产量2;返回"a";}$generator=generator();var_dump($generator->current());var_dump($generator->next());var_dump($generator->getReturn());//错误var_dump($generator->current());var_dump($generator->next());定义常量数组define('COLORS',['red','blue','black']);回声颜色[1];//红色多用语句usesome\namespace\{ClassA,ClassB,ClassCasC};usefunctionsome\namespace\{fn_a,fn_b,fn_c};useconstsome\namespace\{ConstA,ConstB,ConstC};数组解构list($a,$b)=["a","b"];PHP7.1JITJIT,来的正是时候。在运行时将一些指令转换为机器代码。对于计算密集型应用程序有更高的性能提升。可选参数类型function(?string$name){var_dump($name);}//参数类型为string或null注意与默认参数值的区别:function(string$name="default-name"){var_dump($name);}数组解构[$a,$b]=["a","b"];iterable&callable伪类类型使用可调用类型来表示作为可调用类型传递的参数类型(函数,实现__invoke类实例);使用iterable类型限制参数类型为可迭代类型(数组、实现Iterator或Traversable接口的类实例);捕获多种异常类型try{}catch(OneException|AnotherException$e){}参考PHP7.0,PHP7.1.x新特性-CSDN深入解析PHP7.0新特性(新特性五)魔法总结PHP中的方法-CSDN
