首页 >后端开发 >php教程 >PHP 字符串运算符

PHP 字符串运算符

WBOY
WBOY原创
2024-08-29 12:39:38478浏览

以下文章提供了 PHP 字符串运算符的概述。对字符串操作数执行任何特定操作的符号元素称为字符串运算符,而不是使用代码中的任何预定义方法。这些字符串运算符可以在静态和动态变量上执行。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

PHP 字符串运算符的类型

PHP 脚本语言支持两种使用运算符实现的字符串操作:

  • 串联运算符
  • 连接赋值运算符

1.连接运算符

该 PHP 字符串运算符用于对其紧邻左操作数和紧邻右操作数执行串联操作。

在 PHP 中,(‘.’)(点)用作连接运算符。

运算符需要两个操作数来执行运算。

示例#1

代码:

<?php
$input_left = "Application of concatenation Operator!";
$txt_right = " when both operands are static variables";
$Output = $input_left . $txt_right ;
echo "Left operand value: " ;
echo "\n";
echo $input_left;
echo "\n";
echo "\n";
echo "Right operand value: " ;
echo "\n";
echo $txt_right;
echo "\n";
echo "\n";
echo "Ouput from concatenation operator: " ;
echo "\n";
echo $Output;
?>

输出:

PHP 字符串运算符

示例#2

具有两个以上操作数的串联运算符。

如果有多个操作数,则从左到右执行。首先连接最左边的两个操作数,然后将第三个操作数嵌入到结果字符串中,并继续操作,直到连接最右边的操作数。

在一个命令中对 3 个操作数执行串联操作的运算符。

代码:

<?php
echo "Application of concatenation Operator on multiple Operands:";
echo "\n";
echo "\n";
$input1 = " First Operand--";
$input2 = " Second Operand--";
$input3 = " Third Operand ";
$Output = $input1 . $input2 . $input3 ;
echo "First operand value: " ;
echo "\n";
echo $input1;
echo "\n";
echo "\n";
echo "Second operand value: " ;
echo "\n";
echo $input2;
echo "\n";
echo "\n";
echo "Third operand value: " ;
echo "\n";
echo $input3;
echo "\n";
echo "\n";
echo "Ouput from concatenation operator: " ;
echo "\n>";
echo $Output;
?>

输出:

将第一个和第二个操作数值连接起来,然后将第三个操作数值连接到前两个操作数的结果字符串。

PHP 字符串运算符

2.连接赋值运算符

该 PHP 字符串运算符用于对其紧邻左侧操作数和紧邻右侧操作数执行串联操作,并将结果附加到紧邻右侧操作数。

在 PHP 中,(‘.=’)(点(.)+等于(=))用作连接赋值运算符。

该运算符展示两个操作数的串联运算,并将结果值分配给左操作数。

示例#1

代码:

<?php
echo "Application of Concatenating Assignment Operator two operands:";
echo "\n";
echo "\n";
$input_left = " Left Operand--";
$input_right = " Right Operand--";
echo "Before Concatenating Assignment Operator is called:";
echo "\n";
echo "\n";
echo "Left operand value: " ;
echo "\n";
echo $input_left;
echo "\n";
echo "\n";
echo "Right operand value: " ;
echo "\n";
echo $input_right;
echo "\n";
echo "\n";
$input_left .= $input_right;
echo "After Concatenating Assignment Operator is called:";
echo "\n";
echo "\n";
echo "Left operand value: " ;
echo "\n";
echo $input_left;
echo "\n";
echo "\n";
echo "Right operand value: " ;
echo "\n";
echo $input_right;
?>

输出:

PHP 字符串运算符

示例#2

具有两个以上操作数的串联运算符。

如果有多个操作数,则从右到左执行。最右边的两个操作数被连接,结果被分配给这两个操作数中最左边的运算符,并且该操作继续,直到发生最终的连接操作,并且结果值被分配给完整命令的最左边的操作数。

代码:

<?php
echo "Application of Concatenating Assignment Operator on multiple Operands:";
echo "\n";
echo "\n";
$input1 = " First Operand--";
$input2 = " Second Operand--";
$input3 = " Third Operand ";
echo "Before Concatenating Assignment Operator is called:";
echo "\n";
echo "\n";
echo "First operand value: " ;
echo "\n";
echo $input1;
echo "\n";
echo "\n";
echo "Second operand value: " ;
echo "\n";
echo $input2;
echo "\n";
echo "\n";
echo "Third operand value: " ;
echo "\n";
echo $input3;
echo "\n";
echo "\n";
$input1 .= $input2 .= $input3 ;
echo "After Concatenating Assignment Operator is called:";
echo "\n";
echo "\n";
echo "First operand value: " ;
echo "\n";
echo $input1;
echo "\n";
echo "\n";
echo "Second operand value: " ;
echo "\n";
echo $input2;
echo "\n";
echo "\n";
echo "Third operand value: " ;
echo "\n";
echo $input3;
?>

输出:

PHP 字符串运算符

补充说明

1.点运算符与算术运算符“+”和“-”具有相同的优先级。因此,同时使用这些运算符可能会导致意外结果,如下例所示。

代码:

<?php
$Intvar = 5;
echo "Result: " . $Intvar + 10;
?>

输出:

PHP 字符串运算符

  • 为了避免这个问题,建议使用括号。

代码:

<?php
$Intvar = 5;
echo "Result: " .( $Intvar + 10);
?>

输出:

PHP 字符串运算符

  • 但是在连接赋值运算符的情况下,不会出现这个问题。

示例

使用不带括号的连接赋值运算符:

代码:

<?php
$Intvar = 5;
$strvar="Result from concatenating assignment operator: ";
echo $strvar .= $Intvar + 10;
?>

输出:

PHP 字符串运算符

2.如果任何字符串操作数碰巧具有空值或 null 值,则两个运算符都会返回非空字符串操作数值作为输出,不要抛出任何 null 值异常。

3.两个字符串运算符都兼容,可与静态变量和动态变量一起使用。

4.任何 PHP 字符串变量都可以扩展到 2GB,即 2147483647 字节作为其默认最大限制。如果没有通过增加 php.ini 中内存限制指令的限制来覆盖限制大小,并且任何字符串操作数的结果值超过最大限制,则可能会导致内存异常错误。

5.为了避免出现这种情况,请包含验证条件以将输出字符串限制在其安全限制内。

以上是PHP 字符串运算符的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn