Home >Backend Development >PHP Tutorial >Introduction to new features of php7.0

Introduction to new features of php7.0

小云云
小云云Original
2018-03-29 09:38:581796browse

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。

2. Return value type declaration Method name (parameters...): Return value type {}

 function aa(int $a) : array{
    return [$a];
}

3.null coalescing operator

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';


4.太空船操作符(组合比较符)

echo $a <=> $b;//当$a>$b 输出1  当$a < $b 输出-1    当$a == $b 输出0

5.通过 define() 定义常量数组

这个比较好,如下所示:

defined(&#39;ANIMALS&#39;) or define(&#39;ANIMALS&#39;, [
    &#39;dog&#39;,
    &#39;cat&#39;,
    &#39;bird&#39;
]);
var_dump(ANIMALS);//输出array(3) { [0]=> string(3) "dog" [1]=> string(3) "cat" [2]=> string(4) "bird" }

6.匿名类

$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"


7.Closure::call()  闭包调用

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn