This article mainly shares with you an introduction to the new features of php7.0. The article mainly uses code and text to share with you. I hope it can help you.
1.ScalarType declaration There are two modes: mandatory (default) and strict mode. Support string (string), integer (int), floating point number (float), and Boolean value (bool).
Strict mode:
declare(strict_types=1); function aa(int $a){ return $a; } echo aa('5');//会报错。
Forced mode:
declare(strict_types=0);//默认就是强制 function aa(int $a){ return $a; } echo aa('5');//输出5。
function aa(int $a) : array{ return [$a]; }
Due to the large number of simultaneous uses of ternary expressions and isset() in daily use, we added the null coalescing operator (??) This syntactic sugar. If the variable exists and its value is not NULL
, it returns its own value, otherwise it returns its second operand.
// if it does not exist. $username = $_GET['user'] ?? 'nobody'; // This is equivalent to: $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
echo $a <=> $b;//当$a>$b 输出1 当$a < $b 输出-1 当$a == $b 输出0
这个比较好,如下所示:
defined('ANIMALS') or define('ANIMALS', [ 'dog', 'cat', 'bird' ]); var_dump(ANIMALS);//输出array(3) { [0]=> string(3) "dog" [1]=> string(3) "cat" [2]=> string(4) "bird" }
$a = new class{ public function echo(){ return $this; } public function className(){ return __CLASS__; } }; var_dump($a->className()); //string(67)"class@anonymousF:\WWW\test\test02.php001A0165"
Closure::call() 现在有着更好的性能,简短干练的暂时绑定一个方法到对象上闭包并调用它。
class A{private $x = 1;} $getx = function(){ return $this -> x; }; echo $getx->call(new A); //输出1
相关推荐:
我整理的PHP 7.0主要新特性,php7.0新特性_PHP教程
The above is the detailed content of Introduction to new features of php7.0. For more information, please follow other related articles on the PHP Chinese website!