php7 参数、整形及字符串处理机制修改实例分析

PHP7参数、整形及字符串处理机制修改实例分析

PHP7对于参数、整形和字符串处理等方面做出了一些修改,下面将分别进行详细讲解。

参数

在PHP7中,函数参数对于类型的限制更加严格,函数参数必须为声明的类型或者可以为空,否则会触发类型错误。这个修改主要是为了提高代码的健壮性。

function add(int $a, int $b){
    return $a + $b;
}

echo add(1, 2); // 输出3
echo add('1', '2'); // PHP Fatal error:  Uncaught TypeError: Argument 1 passed to add() must be of the type integer, string given

整形

在PHP7中,整形方面主要修改了两个方面:

  1. Int型不存在大小限制
  2. 向下取整(floor)的行为进行了变更

前者主要是在64位系统上生效,如果是32位系统,则默认为32位的限制。

echo PHP_INT_MAX; // 输出 9223372036854775807

后者修改的是向下取整的方式。以前PHP使用的是Rounding mode,但是在PHP7中修改为使用IEEE 754的结果值。

echo floor(-4.3); // 输出-5

字符串处理

在PHP7中,字符串处理方面做出了如下修改:

  1. 增加了utf8_函数,用于代替mb_函数
  2. 增加了/$e修饰符,用于支持unicode
  3. 修改了字符串的比较方式

第一个修改主要是为了支持更好的Unicode字符集类型。

$str = '中国china';
echo utf8_strlen($str); // 输出8(中文字符占3个长度)

第二个修改是用于支持Unicode字符集在正则表达式中的使用。可以将正则表达式声明为UTF-8编码。下面例子中,“/u”表示使用Unicode编码:

preg_match('/\p{Han}+/u', '中国互联网', $matches);
print_r($matches); // 输出 ['中国']

第三个修改主要是修改字符串函数的比较方式。在PHP7中,大多数字符串函数都会将比较方法修改为基于Unicode码点数的比较。这可以避免一些在以前版本中会出现的比较错误。

var_dump('a' == 'à'); // 输出 false
echo strcmp('a', 'à'); // 输出 不为0的值

以上就是PHP7参数、整形及字符串处理机制修改的详细攻略及含有示例说明的分析。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php7 参数、整形及字符串处理机制修改实例分析 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • PHP5.3.1 不再支持ISAPI

    首先,ISAPI(Internet Server Application Programming Interface)是一种IIS(Internet Information Services)的应用程序接口,由微软公司开发。ISAPI允许程序员编写扩展IIS功能的模块或过滤器,并以动态链接库(DLL)的形式安装在IIS上。 在PHP5.3.1版本中,不再支持…

    PHP 2023年5月27日
    00
  • PHP针对字符串开头和结尾的判断方法

    下面是PHP针对字符串开头和结尾的判断方法的完整攻略。 判断字符串开头是否为某个字符串 在PHP中,可以使用字符串函数strpos()来判断一个字符串的开头是否为另一个字符串。该函数用于在一个字符串中查找另一个字符串第一次出现的位置,如果该位置为0,则表示该字符串开头与之匹配。以下是使用该函数实现的示例代码: $str = ‘Hello World!’; $…

    PHP 2023年5月26日
    00
  • PHP编程实现的TCP服务端和客户端功能示例

    下面我来详细讲解“PHP编程实现的TCP服务端和客户端功能示例”的完整攻略。 前置知识 在学习本篇攻略之前,需要具备以下基础知识: PHP基础语法和面向对象编程基础; TCP/IP协议基础; socket编程基础。 TCP/IP协议 TCP/IP协议是互联网的基础协议,它包含了TCP协议和IP协议两部分。其中,TCP协议是面向连接的协议,能够保证数据的可靠传…

    PHP 2023年5月23日
    00
  • PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结

    关于PHP中将多维数组转换为一维数组的方法总结,我们可以使用以下几种方法: 方法一:使用array_reduce array_reduce是PHP中一个非常强大的函数,可以对数组中的每个元素进行累计计算,接着返回计算结果。使用array_reduce函数我们可以对二维及多维数组进行递归,将其元素一一展开并构成一维数组。以下是使用array_reduce函数将…

    PHP 2023年5月26日
    00
  • PHP中引用类型和值类型功能与用法示例

    PHP 中引用类型和值类型在变量赋值和函数传参时有着不同的行为,这里提供以下攻略: 引用类型和值类型的定义 值类型(也称为基本类型)在 PHP 中包括整数、浮点数、布尔值和字符串,以及常量和 NULL 值。当把一个值类型变量赋给另一个变量时,实际上是把变量的值复制了一份。例如: $num1 = 42; $num2 = $num1; $num2 = 99; e…

    PHP 2023年5月26日
    00
  • PHP中的输出缓冲控制详解

    PHP中的输出缓冲控制详解 在PHP中,我们可以通过输出缓冲控制(Output Buffering Control)来暂停脚本运行并且允许在输出之前改变或操作输出内容,常用于优化性能或实现特定功能。本文将详细介绍PHP中的输出缓冲控制。 开启输出缓冲区 使用ob_start()函数可以手动开启输出缓冲区,该函数不接受任何参数。如果需要在页面输出前对内容进行操…

    PHP 2023年5月26日
    00
  • 解决启动php-fpm后访问不到php文件的办法

    解决启动php-fpm后访问不到php文件的问题,主要是由于Nginx没有正确地连接到php-fpm或php-fpm配置有误所导致的。为了解决这个问题,可以按照以下步骤进行操作: 确认Nginx是否正确连接php-fpm 确认php-fpm是否启动,并监听正确的IP和端口。可以使用sudo netstat -lnp | grep php-fpm来查看。如果没…

    PHP 2023年5月24日
    00
  • php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法

    要实现PHP或JS打开本地的exe程序或应用程序,并传递相关参数,可以通过以下两种方法: 使用PHP或JS调用系统命令来打开exe程序或应用程序 使用PHP或JS调用COM组件来打开exe程序或应用程序 以下是两个方法的详细说明: 方法一:使用PHP或JS调用系统命令来打开exe程序或应用程序 在PHP中,可以使用exec()函数或shell_exec()函…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部