【PHP】关于PHP8中match新语句的骚操作
CrazyPanda发表于:2024-01-06 22:27:56浏览:325次
PHP8新语法:match [更骚的匿名函数操作]
PHP8 新出的一个语法很好用,就是 match 语句。match 语句跟原来的 switch 类似,不过比 switch 更加的严格和方便
原来的 switch 语句代码如下:
function getStr( $strType ){ switch( $strType ){ case 1: $str = 'one'; break; case 2: $str = 'two'; break; default : $str = 'error'; } return $str; } //当输入数值 1 和 字符 '1' 不会进行类型判断 echo getStr(1); //one echo getStr('1'); //one echo getStr(2); //two echo getStr('2'); //two
换成 match 语句后:
function getStr( $strType ){ return match( $strType ){ 1 => 'number one', '1' => 'string one', default => 'error', }; } //可以看出输入数值 1 跟字符 `1` 返回的值是不同的 echo getStr(1); //number one echo getStr('1'); //string one
骚操作
function getStr( $strType ){ return match( $strType ){ 1 => (function(){ return 'number one'; })(), '1' => (function(){ return 'string one'; })(), default => 'error', }; } //虽然这种代码风格也能行的通,但是总感觉哪里怪怪的 echo getStr(1); //number one echo getStr('1'); //string one
总结:PHP8 新出的语法 match 相比原来的 switch 语法更加的方便和严格
猜你喜欢
- 【PHP】PHP8.1新特性大讲解之initializers初始化器
- PHP 8.1:初始化器(new in initializers)PHP 8.1 添加了一个看似很小的细节,但我认为它会对许多人产生重大的日常影响。那么这个“初始化器 RFC 中的新内容”是关于什么的?我们来看一个例子;我们都写过这样的代码:class MyStateMachine { public function __construct( &n
- 【PHP】php中实现3DES算法(ECB加密模式PKCS5Padding填充)
- 讲道理,一提到3DES算法,首先想到的是要和java做交互了==现在3DES已经渐渐被抛弃了,尤其是ECB加密模式使用的更少了,但是没办法,业务需要,合作方用的是他,你头再铁也不能怎样,那就扒扒文档咯网上完整的php实现以经不多了,CBC加密模式居多,所以我参考了好几篇文章,整理了一个class出来,共享上来,避免后来人踩坑感谢前人的整理总结:PHP版3DES加解密类更新成PKCS5填充模式 (http://blog.163.com/hui\_san/blog/static/5710286720
- 【PHP】使用ThinkPHP6和Swoole实现的RPC服务与微服务架构整合
- 随着互联网技术的发展,提高系统的可扩展性和性能成为了一个重要的课题。为了满足这种需求,将RPC服务与微服务架构进行整合成为了一种较为常见的解决方案。本文将介绍如何使用ThinkPHP6和Swoole实现RPC服务与微服务架构的整合,同时提供具体的代码示例。一、RPC服务简介RPC(Remote Procedure Call,远程过程调用)是一种使调用者能够像调用本地函数一样调用远程函数的技术。它的原理是在客户端和服务端之间建立一个通信通道,在客户端发出调用请求后,服务端执行相应的逻辑并将结果返回
- 【PHP】PHP实现验证码的生成与验证
- PHP是一种常用的服务器端脚本语言,不仅功能强大,而且易于学习和编写。在网站开发中,验证码的生成与验证是非常重要的安全措施。在这篇文章中,我们将介绍如何使用PHP实现验证码的生成与验证。一、什么是验证码?验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写。它是一种常见的在线验证机制,用于确保用户是真正的人而不是机器人。
- 【PHP】PHP8.0 match函数
- `match` 表达式是 PHP 8.0 引入的一个新的控制结构,它提供了一种简洁且更强大的方式来进行条件匹配。与 `switch` 语句相比,`match` 表达式具有以下优势:返回值:match 是一个表达式,它会返回一个值。严格比较:match 使用严格比较(===),而 switch 使用宽松比较(==)。单行语法:每个条件都必须在同一行内完成。默认值:可以使用 _ 作为默认匹配情况。基本语法$result = match ($value) { &
- 【PHP】php二进制转换函数
- 在进行某些数据处理时,我们可能需要将十进制数字转换成二进制或将二进制数字转换为十进制。在PHP中,我们可以通过一些内置函数来完成这些转换操作。一、十进制转二进制在PHP中,我们可以使用decbin()函数将十进制数字转换成二进制。例如,在下面的示例中,我们将十进制数字29转换成二进制数字:$decimal_number = 29; $binary_number = decbin($decimal_number); echo $binar
- 【PHP】PHP生成ICO图标的方法
- 本篇文章给大家介绍一下使用php生成ico图标的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。ico图标在每个网站中都需要用到的,使用方法也是很简单的,基本上以下面的方式为主,但也有其他的方式。<link rel="shortcut icon" href="/favicon.ico">一般将ico图标放置在网站的根目录下,使用时可以使用相对路径,也可以使用绝对路径来引入,这个没有明确的规定。
- 【PHP】中间人攻击是什么,会产生哪些危害,如何有效防止中间人攻击
- 简介中间人攻击(Man-in-the-Middle Attack,简称MITM攻击)是一种网络攻击,其原理是攻击者通过各种技术手段将受攻击者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机称为“中间人”。在攻击过程中,中间人可以截取、查看、篡改、伪造或修改受害者之间的通信数据,以达到窃取敏感信息、篡改数据或实施其他恶意行为的目的。举个简单的例子,假设A同学和B同学正在使用一个不安全的公共Wi-Fi网络进行通信,而攻击者恰恰潜伏在这个网络中。A同学想要向B同学发送一条私密信息,
栏目分类全部>