您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > php

PHP 8.3 新特性解读

时间:2024-03-12 10:35:44  来源:InfoQ  作者:

作者 | Deepak Vohra

译者 | 明知山

策划 | 丁晓昀

本文是 php 8.x 系列文章的一部分。你可以通过订阅 RSS 来接收有关本系列文章的更新通知。

PHP 仍然是互联网上使用最广泛的脚本语言之一,w3tech 的数据显示,有 77.3% 使用服务器端编程语言的网站都在使用它。PHP 8 带来了许多新特性和改进,我们将在本系列文章中进行探讨。

PHP 8.3 是 PHP 8.x 系列最新的主要更新版本。

除了性能改进之外,它还带来了许多新特性,包括修正了在 PHP 8.1 中引入的 readonly 特性;显式类型化的类常量;一个新的用于标记覆盖超类方法的 #[Override] 属性,等等。

环境设置

下载并安装 PHP 8.3 二进制文件。在本系列前几篇文章中,我们使用了 windows 操作系统。为了与此保持一致,请下载并安装 PHP 8.3 Windows 二进制文件。按照 PHP 7——入门及面向对象编程改进中的说明来设置环境。最后,在命令行运行 php --version 验证 PHP 版本是否为 8.3。

新的 increment 和 decrement 运算符

PHP 8.3 引入了新的增减函数 str_increment(string $string) 和 str_decrement(string $string),它们通过加减 1 来实现对参数的增减操作。换句话说,$v++ 等同于 $v += 1,$v-- 等同于 $v -= 1。

对于以下任一情况,函数将抛出 ValueError:

  • $string 为空字符串;
  • $string 不是由字母和数字 ASCII 字符组成。

另外,如果字符串无法执行减操作,str_decrement 函数会抛出 ValueError。例如,“A”或“0”无法再减。对非字母数字字符串的增减操作已被弃用。可以被表示为科学记数法的数字字符串不执行类型转换。

在下面的示例脚本中,str_increment(string $string) 函数调用将对一个字母数字字符串的值进行增操作。str_decrement(string $string) 函数将对字母数字字符串的值进行减操作。脚本还演示了函数的参数必须是字母数字字符串,否则将抛出 ValueError:

<?php $str = "1"; $str = str_increment($str); echovar_dump($str);

$str = "1";$str = str_decrement($str);echovar_dump($str);

$str = "-1";$str = str_decrement($str);echovar_dump($str); ?>

运行脚本,得到以下输出:

string(1) "2"string(1) "0"Uncaught ValueError: str_decrement: Argument #1 ($string) must be composed only of alphanumeric ASCII characters ...

对bool类型的增减操作不会有任何效果,但会生成警告。同样,对空字符串的增减操作已被弃用。此外需要注意的是,增减非数字字符串都没有效果,并已被弃用。作为演示,请运行以下脚本:

<?php// decrementing empty string$str = "";--$str; echovar_dump($str);// decrementing non-numeric string


Tags:PHP 8.3   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
PHP 8.3 新特性解读
作者 | Deepak Vohra译者 | 明知山策划 | 丁晓昀本文是 PHP 8.x 系列文章的一部分。你可以通过订阅 RSS 来接收有关本系列文章的更新通知。PHP 仍然是互联网上使用最广泛的...【详细内容】
2024-03-12  Search: PHP 8.3  点击:(17)  评论:(0)  加入收藏
PHP 8.3 正式发布!
作者 | Tim Anderson编译 | 如烟出品 | 51CTO技术栈(微信号:blog51cto)PHP 8.3 正式发布,最主要的变化是添加“类常量显式类型”、“只读属性深拷贝”,“以及对随机性功能的补充...【详细内容】
2023-11-27  Search: PHP 8.3  点击:(169)  评论:(0)  加入收藏
▌简易百科推荐
PHP 8.3 新特性解读
作者 | Deepak Vohra译者 | 明知山策划 | 丁晓昀本文是 PHP 8.x 系列文章的一部分。你可以通过订阅 RSS 来接收有关本系列文章的更新通知。PHP 仍然是互联网上使用最广泛的...【详细内容】
2024-03-12    InfoQ  Tags:PHP 8.3   点击:(17)  评论:(0)  加入收藏
如何使用PHP SSH2模块执行远程Linux命令
PHP SSH2扩展是用于在PHP程序中使用SSH(安全壳协议)的一种扩展。它允许建立加密连接和执行远程命令、上传和下载文件等操作,十分方便实用。下面我将为大家详细介绍一下该扩展的...【详细内容】
2024-01-26  开源技术小栈  微信公众号  Tags:PHP   点击:(98)  评论:(0)  加入收藏
如何使用PHP抓取百度首页排名?方法与步骤详解
PHP是一种广泛应用于网站开发的脚本语言,具备简单、灵活、高效的特点,因此在SEO优化中也得到了广泛的应用。本文将深入解析如何使用PHP抓取百度首页排名,并介绍一些相关的内容...【详细内容】
2024-01-12  ·小钟无艳遇  今日头条  Tags:php   点击:(80)  评论:(0)  加入收藏
2023 年,PHP 停滞不前
热心开发者分析了一波 GitHub 的数据后发现,编程语言为 PHP 的 PR 数量逐年下降。GitHut 是通过 GitHub 数据专门分析编程语言的项目。它基于各种编程语言在 GitHub 中的使用...【详细内容】
2023-12-17  OSC开源社区    Tags:PHP   点击:(13)  评论:(0)  加入收藏
全方位深度剖析PHP7底层源码
PHP7是一门流行的Web编程语言,以其易学易用和广泛的应用场景而备受欢迎。本文将为您深入讲解PHP7的特性和优势,包括性能提升、语法改进和新特性等方面,帮助您了解和掌握这门灵...【详细内容】
2023-12-06  笔画春秋润    Tags:PHP7   点击:(183)  评论:(0)  加入收藏
PHP 8.3 正式发布!
作者 | Tim Anderson编译 | 如烟出品 | 51CTO技术栈(微信号:blog51cto)PHP 8.3 正式发布,最主要的变化是添加“类常量显式类型”、“只读属性深拷贝”,“以及对随机性功能的补充...【详细内容】
2023-11-27    51CTO  Tags:PHP   点击:(169)  评论:(0)  加入收藏
原来真的可以在 Next.js 中写 PHP 代码?
Next.js 14 近期发布,其中一个重大的功能点是 Server Actions 成为稳定版,因其超前和熟悉的开发方式,在社交网络上引起了一阵讨论,应该是下面这张图的内容了。图片有人说这是又...【详细内容】
2023-11-07  编程界  微信公众号  Tags:PHP   点击:(297)  评论:(0)  加入收藏
PHP编程语言,这个老古董,还有人用吗?
近年来,随着大数据、云计算和人工智能等新兴技术的崛起,许多传统的编程语言悄然退出了舞台。而PHP(PHP Hypertext Preprocessor)作为最古老的编程语言之一,是否也在逐渐沦为过去...【详细内容】
2023-11-02  程序员职场故事    Tags:PHP编程   点击:(233)  评论:(0)  加入收藏
PHP如何获取前几天日期时间
在PHP中,我们经常需要获取当前日期的前几天日期时间,以便进行一些特定的计算或数据处理。本文将介绍如何使用PHP获取前几天的日期时间,并提供具体的实现示例和代码。文章地址ht...【详细内容】
2023-08-10  学无止境    Tags:PHP   点击:(376)  评论:(0)  加入收藏
PHP+Python轻松抓取网络图片资源
你是否曾经遇到过需要从网络上获取大量图片的需求?你是否曾经为手动下载图片而感到疲惫?那么,本文将为你介绍一种高效、易用的方法&mdash;&mdash;利用PHP和Python编写爬虫程序,...【详细内容】
2023-05-09  俊俊的生活日记    Tags:PHP   点击:(336)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条