php7新内容总结(随时更新)

Posted crazytata

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php7新内容总结(随时更新)相关的知识,希望对你有一定的参考价值。

一.参数和返回值类型申明

  可以申明的有:float,int,bool,string,interfaces,array,callable

  一般模式:

   function sum(int ...$ints) {
      return array_sum($ints);
   }
   print(sum(2, ‘3‘, 4.1)); //9
  严格模式:
   declare(strict_types=1);
   function sum(int ...$ints) {
      return array_sum($ints);
   }
   print(sum(2, ‘3‘, 4.1)); //Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...
  
  返回值:
 declare(strict_types = 1); function returnIntValue(int $value): int { return $value + 1.0; } print(returnIntValue(5));//Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned.

二.
空合并运算符
isset($_GET[‘aa‘]) ? $_GET[‘aa‘] : ‘not passed‘等价于$_GET[‘aa‘]??: ‘not passed‘;

三.
飞船运算符
 print( 1 <=> 1);//0
   print( 1 <=> 2);//-1
   print( 2 <=> 1);//1

四.定义数组常亮
define(‘animals‘, [ ‘a‘, ‘b‘, ‘c‘]);

五.
过滤unserialize
php 7引入了过滤的unserialize()函数,以便在对不可信数据上的对象进行反序列化时提供更好的安全性。它可以防止可能的代码注入,并使开发人员能够对可以反序列化的类进行白名单。

六.use 批量声明
在同一个命名空间下,现在use可以批量申明
use some/namespace/{ClassA, ClassB, ClassC as C}; 

七.支持为负的字符串偏移量
var_dump("abcdef"[-2]);
var_dump(strpos("aabbcc", "b", -3));

八.
foreach不再改变内部数组指针
$array = [0, 1, 2];
foreach ($array as &$val) {
    var_dump(current($array));
}

PHP5输出: 
int(1) 
int(2) 
bool(false) 
PHP7输出: 
int(0) 
int(0) 
int(0)



 
 

以上是关于php7新内容总结(随时更新)的主要内容,如果未能解决你的问题,请参考以下文章

PHP7 opcache缓存清理问题

PHP7 opcache缓存清理问题

PHP7 opcache缓存清理问题

GMSMarker 信息窗口内容(片段)未更新

工作软技能&问题解决理念总结#随时更新

Python3常用学习网站总结(随时更新)