{site_name}

{site_name}

🌜 搜索

PHP是一种流行的服务器端脚本语言,用于构建动态网站和Web应用程序

php 𝄐 0
php5.6 升级到php7,php移植到arm,php5升级到php7,php 转go,php升级,php转app
PHP是一种流行的服务器端脚本语言,用于构建动态网站和Web应用程序。 PHP 8.0.x 和 PHP 8.1.x 是 PHP 8 版本系列的两个不同版本,它们有一些不同之处。

以下是从 PHP 8.0.x 移植到 PHP 8.1.x 的一些主要变化和例子:

1. 箭头函数可以更好地处理多行表达式

在 PHP 8.1.x 中,箭头函数现在可以更好地处理多行表达式。例如,下面的代码将引发错误:


$calculate = fn($x, $y) => {
$result = $x + $y;
return $result;
};


为了使这段代码在 PHP 8.0.x 中工作,必须使用显式返回语句。但在 PHP 8.1.x 中,您可以省略返回语句,并保留花括号:


$calculate = fn($x, $y) => {
$result = $x + $y;
$result;
};


2. 新增了fdiv() 函数

PHP 8.1.x 引入了一个新的浮点数除法函数 fdiv() ,该函数旨在解决除以零的问题。它类似于 divide() 函数,但与 divide() 不同,如果尝试进行浮点数除以零操作,则 fdiv() 返回 INF 或 -INF ,而不是生成一个错误。

例如,以下代码将在 PHP 8.1.x 中返回 INF :


$result = fdiv(1.0, 0);


3. 新增了set_error_handler() 的 $throw 参数

在 PHP 8.1.x 中,您可以向 set_error_handler() 函数添加第三个 $throw 参数。如果将 $throw 参数设置为 true ,则会在调用错误处理程序后引发一个异常。

例如,以下代码将在 PHP 8.1.x 中引发一个异常:


set_error_handler(function ($errno, $errstr) {
throw new Exception($errstr);
}, E_WARNING);

trigger_error('This is an error', E_WARNING);


这只是 PHP 8.1.x 中一些变化的例子,还有其他许多变化。但总体上来说,这些变化旨在提高 PHP 的性能、可维护性和安全性,并使其更易于使用。