首頁 >後端開發 >php教程 >PHP 字串運算符

PHP 字串運算符

WBOY
WBOY原創
2024-08-29 12:39:38505瀏覽

以下文章提供了 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