使用 ... 运算符定义变长参数函数 (PHP 5 >= 5.6.0, PHP 7)
现在可以不依赖 func_get_args(), 使用 ... 运算符 来实现 变长参数函数。
以上例程会输出:
$req: 1; $opt: 0; number of params: 0
$req: 1; $opt: 2; number of params: 0
$req: 1; $opt: 2; number of params: 1
$req: 1; $opt: 2; number of params: 2
$req: 1; $opt: 2; number of params: 3
使用 ... 运算符进行参数展开 (PHP 5 >= 5.6.0, PHP 7)
在调用函数的时候,使用 ... 运算符, 将 数组 和 可遍历 对象展开为函数参数。 在其他编程语言,比如 Ruby中,这被称为连接运算符,。
以上例程会输出:
6
use function 以及 use const (PHP 5 >= 5.6.0, PHP 7)
use 运算符 被进行了扩展以支持在类中导入外部的函数和常量。 对应的结构为 use function 和 use const。
以上例程会输出:
42
Name\Space\f
debugInfo() (PHP 5 >= 5.6.0, PHP 7)
加入 debugInfo(), 当使用 var_dump() 输出对象的时候, 可以用来控制要输出的属性和值。
prop = $val; } public function debugInfo() { return [ 'propSquared' => $this->prop ** 2, ]; } } var_dump(new C(42)); ?>
以上例程会输出:
object(C)#1 (1) { ["propSquared"]=> int(1764) }
标量类型声明 (PHP 7)
标量类型声明 有两种模式: 强制 (默认) 和 严格模式。 现在可以使用下列类型参数(无论用强制模式还是严格模式):字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool)。它们扩充了PHP5中引入的其他类型:类名,接口,数组和回调类型。
Nach dem Login kopieren
以上例程会输出:
int(9)
要使用严格模式,一个 declare 声明指令必须放在文件的顶部。这意味着严格声明标量是基于文件可配的。 这个指令不仅影响参数的类型声明,也影响到函数的返回值声明(参见返回值类型声明, 内置的PHP函数以及扩展中加载的PHP函数)
返回值类型声明 (PHP 7)
PHP 7 增加了对返回类型声明的支持。 类似于参数类型声明,返回类型声明指明了函数返回值的类型。可用的类型与参数声明中可用的类型相同。
Nach dem Login kopieren
以上例程会输出:
Array
(
[0] => 6
[1] => 15
[2] => 24
)
null合并运算符 (PHP 7)
由于日常使用中存在大量同时使用三元表达式和 isset()的情况, 我们添加了null合并运算符 (??) 这个语法糖。如果变量存在且值不为NULL, 它就会返回自身的值,否则返回它的第二个操作数。
太空船操作符(组合比较符)(PHP 7)
太空船操作符用于比较两个表达式。当$a小于、等于或大于$b时它分别返回-1、0或1。 比较的原则是沿用 PHP 的常规比较规则进行的。
1; // 0 echo 1 <=> 2; // -1 echo 2 <=> 1; // 1 // Floats echo 1.5 <=> 1.5; // 0 echo 1.5 <=> 2.5; // -1 echo 2.5 <=> 1.5; // 1 // Strings echo "a" <=> "a"; // 0 echo "a" <=> "b"; // -1 echo "b" <=> "a"; // 1 ?>
通过 define() 定义常量数组 (PHP 7)
Array 类型的常量现在可以通过 define() 来定义。在 PHP5.6 中仅能通过 const 定义。
Das obige ist der detaillierte Inhalt vonphp7函数,声明,返回值等新特性介绍. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!