1. 程式人生 > >php自定義函式及內部函式----字串處理函式

php自定義函式及內部函式----字串處理函式

一、統計字串

(1)strlen() 統計字串長度

函式返回值為整形,表示字串長度。若返回值為0,表示該字串為空。該函式對待一個UTF8的中文字元,處理為3個位元組長度。

echo strlen("xiaolin!");// 輸出:8

echo strlen("小林!");  // 輸出:7

(2)mb_strlen() 統計中文字串的長度

mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )
$str 要檢查長度的字串
$encoding,可指定字元編碼,如省略則使用內部字元編碼
返回值:返回具有encoding編碼的字串str包含的[字元數]

,多位元組的字元被計為 1

$str='我是小林zi';
echo strlen($str).'<br>';// 在strlen計算中,對待一個UTF8的中文字元,處理為3個位元組長度,3 * 4 + 2 = 14
echo mb_strlen($str,'utf8').'<br>';// 當mb_strlen的內碼選擇為UTF-8的時候,則會將中文字元當成一個字元,即為 1 * 4 + 2 = 6
echo mb_strlen($str,'gbk').'<br>';// 當mb_strlen的內碼選擇為gbk的時候,一箇中文字元當成1.5個字元來處理來處理, 1.5 * 4 + 2 = 8

(3)count_chars() 統計一個字串中的字元出現頻率。

count_chars(string,mode)

mode 可選。規定返回模式。預設是 0。以下是不同的返回模式:

  • 0 - 陣列,ASCII 值為鍵名,出現的次數為鍵值
  • 1 - 陣列,ASCII 值為鍵名,出現的次數為鍵值,只列出出現次數大於 0 的值
  • 2 - 陣列,ASCII 值為鍵名,出現的次數為鍵值,只列出出現次數等於 0 的值
  • 3 - 字串,帶有所有使用過的不同的字元
  • 4 - 字串,帶有所有未使用過的不同的字元
print_r(count_chars($str,1)); //Array ( [32] => 1 [33] => 1 [72] => 1 [87] => 1 [100] => 1 [101] => 1 [108] => 3 [111] => 2 [114] => 1 )
print_r(count_chars($str,3)); // !HWdelor

二、字串轉化

(1)trim():去除空格;
         ltrim():只從開始處去除空格;
         rtrim():只從結尾處去除空格。

    trim(string,charlist)