{site_name}

{site_name}

🌜 搜索

PHP 8 是 PHP 编程语言的最新版本,它比之前的版本带来了许多新特性和改进

php 𝄐 0
php5.6 升级到php7,php移植到arm,php升级到php7注意的问题,php 转go,php7升级到php8,php转安卓
PHP 8 是 PHP 编程语言的最新版本,它比之前的版本带来了许多新特性和改进。下面是从 PHP 7.2.x 移植到 PHP 7.3.x 的一些变化和例子:

1. 空合并运算符的优先级问题得到解决

在 PHP 7.2.x 中,空合并运算符 ?? 的优先级比大部分二元运算符都低,因此需要加上括号才能确保正确的运算顺序。但在 PHP 7.3.x 中,这个问题已经被修复,可以更方便地使用空合并运算符。

例如,在 PHP 7.2.x 中,以下代码会产生错误:


$result = $variable1 ?? $variable2 + $variable3;


需要改为:


$result = ($variable1 ?? $variable2) + $variable3;


而在 PHP 7.3.x 中,则可以直接写成:


$result = $variable1 ?? ($variable2 + $variable3);


2. 新增 is_countable() 函数

在 PHP 7.3.x 中,新增了一个 is_countable() 函数,用于判断一个变量是否是可计数的(即数组或实现了 Countable 接口的对象)。

例如,在 PHP 7.2.x 中,以下代码会产生错误:


function foo($var) {
if (count($var)) {
// ...
}
}


当 $var 不是数组或实现了 Countable 接口的对象时会产生错误。需要改为:


function foo($var) {
if (is_array($var) || $var instanceof Countable && count($var)) {
// ...
}
}


而在 PHP 7.3.x 中,则可以直接使用 is_countable() 函数:


function foo($var) {
if (is_countable($var) && count($var)) {
// ...
}
}


以上仅是从 PHP 7.2.x 移植到 PHP 7.3.x 的一些变化和例子,实际上还有很多其他的新特性和改进。