1. 程式人生 > 實用技巧 >part09 php字串變數

part09 php字串變數

1、php字串變數的定義

字串變數用於包含有字元的值。

在建立字串之後,我們就可以對它進行操作了。

您可以直接在函式中使用字串,或者把它儲存在變數中。

2、php並置運算子

在php中,只有一個字串運算子,並置運算子(.)用於把兩個字串值連線起來。

3、php的strlen()函式

strlen(str)函式返回字串的長度

<?php
echo strlen("中文字元");   // 輸出 12
?>
輸出結果為 12,因為一箇中文佔 3 個字元數。

可以使用 mb_strlen 設定指定編碼輸出中文字元個數:

<?php
echo mb_strlen("中文字元",'utf-8');  //
輸出 4 ?>

strlen() 函式返回字串的長度(位元組數)。

==> strlen()返回應該是“位元組數”,不是“字元數”。

可以試一下當引數為多位元組(比如中文)字元的情況,比如:

echo "strlen(我們是中國人) is ", strlen("我們是中國人"), "\n"; 18

4、php的strpos()函式

strpos()函式用於在字串內查詢一個字元或一段指定的文字。

如果在字串中找到匹配,該函式會返回第一個匹配的字元位置。如果未找到匹配,則返回false。

strpos() 返回的不是第一匹配的字元會的下標,是按照字元數量來算。例如:

<?php
$str = "你好!!a"; echo strpos($str ,"!"); ?> 輸出的是 6。同時,中文下的字元在 UTF-8 下是 3 個字元長度,在 gbk 下是2個字元長度。 這個 strpos() 只能用於判斷字元在字串中是否存在。 對於中文,可以使用 mb_strpos 來查詢中文字元的位置。 注意:中英文的感嘆號、雙引號等不同,如: ! 和 !。 注意:mb_strpos 按字元處理,strpos 按位元組處理。 <?php echo strpos('開始23測試ceshi', '測試') . PHP_EOL; echo strpos('123測試ceshi', '測試') . PHP_EOL
; ?> 輸出結果為: 8 3