注册
随时随地免费发布信息
广告二 广告三
安卓下载1 苹果下载2 推广宣传3 骗子曝光4
PHP 8.5 新功能预览版

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x

PHP 8.5 将于 2025 年 11 月发布,并带来一些有用的新功能和改进。此版本侧重于开发人员体验增强、新的实用程序函数和更好的调试功能。

新的数组函数:array_first()array_last()

PHP 8.5 添加了两个请求量很大的函数,用于检索数组的第一个和最后一个值,补充了 PHP 7.3 中现有的array_key_first()array_key_last()函数。

$users = ['Alice''Bob''Charlie'];

$firstUser = array_first($users);  // 'Alice'
$lastUser = array_last($users);    // 'Charlie'

// Works with associative arrays too
$data = ['name' => 'John''age' => 30'city' => 'Berlin'];
echo array_first($data); // 'John'
echo array_last($data);  // 'Berlin'

// Returns null for empty arrays
$empty = [];
var_dump(array_first($empty)); // null
var_dump(array_last($empty));  // null

这些函数等效于:

  • array_first($array)$array[array_key_first($array)]
  • array_last($array)$array[array_key_last($array)]

管道操作

PHP 8.5 引入了一个新的管道运算符 (|>),它允许从左到右链接多个可调用对象,将左侧可调用对象的返回值传递给右侧可调用对象:

$result = 'Hello World'
    |> strtoupper(...)
    |> str_shuffle(...)
    |> trim(...);
// Output: 'LWHO LDLROE' (or similar shuffled result)

// Equivalent to nested calls:
$result = trim(str_shuffle(strtoupper('Hello World')));

// Or using variables:
$result = 'Hello World';
$result = strtoupper($result);
$result = str_shuffle($result);
$result = trim($result);

管道运算符适用于任何可调用对象 - 函数、方法、闭包和第一类可调用对象。但是,它有一些限制:

  • 所有可调用对象必须只接受一个必需的参数
  • 不能使用具有按引用参数的函数(少数例外)
  • 返回值始终作为第一个参数传递

新的错误和异常处理程序 getter

PHP 8.5 引入了两个新函数,允许您检索当前活动的错误和异常处理程序:get_error_handler()get_exception_handler()。 这两个函数都返回当前可调用的处理程序,如果未设置自定义处理程序,则返回null

新的 cURL 函数:curl_multi_get_handles()

cURL 扩展获得了一个新函数,用于从多手柄中检索所有句柄:

$multiHandle = curl_multi_init();

$ch1 = curl_init('https://api.example.com/users');
$ch2 = curl_init('https://api.example.com/posts');

curl_multi_add_handle($multiHandle$ch1);
curl_multi_add_handle($multiHandle$ch2);

// New in PHP 8.5: Get all handles
$handles = curl_multi_get_handles($multiHandle);
// Returns: [$ch1$ch2]

// Execute and process results
$running = null;
do {
    curl_multi_exec($multiHandle$running);
while ($running > 0);

foreach ($handles as $handle) {
    $response = curl_multi_getcontent($handle);
    curl_multi_remove_handle($multiHandle$handle);
}

新的 Locale 函数:locale_is_right_to_left()

PHP 8.5 添加了对检测从右到左 (RTL) 语言环境的支持,从而提高了国际化功能:

// Check if locale uses RTL writing
$isRTL = locale_is_right_to_left('ar_SA'); // true (Arabic)
$isLTR = locale_is_right_to_left('en_US'); // false (English)
$isFarsi = locale_is_right_to_left('fa_IR'); // true (Persian/Farsi)

// Object-oriented approach
$isRTL = Locale::isRightToLeft('he_IL'); // true (Hebrew)

 PHP_BUILD_DATE常量

一个新的常量提供了 PHP 二进制文件的构建日期,用于调试和版本审计:

echo PHP_BUILD_DATE; // e.g., 'Nov 15 2025 10:30:45'

// Useful for debugging in production
echo 'PHP Version: ' . PHP_VERSION . "\n";
echo 'Build Date: ' . PHP_BUILD_DATE . "\n";

CLI 增强功能:php --ini=diff

一个新的 CLI 选项,用于仅输出非默认 INI 指令:

# Show only modified settings
php --ini=diff

# Example output:
# memory_limit = 256M (default: 128M)
# max_execution_time = 60 (default: 30)


关键词:新功能
评论信息
 正在加载留言...
相关推荐

会员榜单

爱在柬埔寨
爱在柬埔寨

发了92个帖

积分
0
创始人
创始人

发了58个帖

积分
1000000
王文鑫手机店
王文鑫手机店

发了7个帖

积分
0
大王王
大王王

发了0个帖

积分
0
柬埔寨华人论坛
柬埔寨华人论坛

发了0个帖

积分
0
张一
张一

发了0个帖

积分
0
VA SREYHEAB
VA SREYHEAB

发了0个帖

积分
0
网站开发
广告位招租