PHP文本處理之中文漢字字符串轉換為數組


在PHP中我們可以通過str_split 將字符串轉換為數組,但是卻對中文無效,下面記錄一下個人將中文字符串轉換為數組的方法。

用到的PHP函數

mb_strlen — 獲取字符串的長度

mb_substr — 獲取字符串的部分。

string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding()]] )

根據字符數執行一個多字節安全的 substr() 操作。 位置是從 str 的開始位置進行計數。 第一個字符的位置是 0。第二個字符的位置是 1,以此類推。

參數
str
  從該 string 中提取子字符串。
start
  str 中要使用的第一個字符的位置。
length
  str 中要使用的最大字符數。 If omitted or NULL is passed, extract all characters to the end of the string.
encoding
  encoding 參數為字符編碼。如果省略,則使用內部字符編碼。

 

代碼:

function ch2arr($str) { $length = mb_strlen($str, 'utf-8'); $array = []; for ($i=0; $i<$length; $i++) $array[] = mb_substr($str, $i, 1, 'utf-8'); return $array; }

 測試:

$ch = '田邊的稀泥里到處是泥鰍!';
$arr = ch2arr($ch);
var_dump($arr);

測試結果:

array (size=12)
  0 => string '田' (length=3)
  1 => string '邊' (length=3)
  2 => string '的' (length=3)
  3 => string '稀' (length=3)
  4 => string '泥' (length=3)
  5 => string '里' (length=3)
  6 => string '到' (length=3)
  7 => string '處' (length=3)
  8 => string '是' (length=3)
  9 => string '泥' (length=3)
  10 => string '鰍' (length=3)
  11 => string '!' (length=1)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM