PHP反轉中文字串

2021-07-29 08:53:35 字數 1068 閱讀 3204

如何翻轉乙個中文字串?如:

$str='天氣真好';
字串反轉函式strrev()是乙個單位元組反轉的函式。對於多位元組編碼的中文字元,不能正常使用。因此,這個問題就涉及到php國際化與字元編碼支援。使用多位元組字串函式可以很好解決這個問題。

<?php

header("content-type:text/html;charset=utf-8");

/**此函式的作用是反轉中文字串

mb_strlen() 獲取字元的長度

mb_substr() 獲取字元的單個元素

krsort() 按照鍵值逆序排序陣列

implode() 將陣列拼接為字串

explode() 使用字串分隔字串

*/function str_rev_gb($str)

$array=array();

//將字串存入陣列

$l=mb_strlen($str,'utf-8'); //返回具有 encoding 編碼的字串 str 包含的字元數.多位元組的字元被計為 1。

for($i=0;$i<$l;$i++)

//反轉字串

krsort($array); //按照鍵名逆序排序

//拼接字串

$string=implode($array); //把陣列元素組合成字串

return $string;

}$str1 = "englist";

$str2 = "english中國";

$str3 = "eng中lish國";

$str4 = "中華人民共和國";

echo $str1."->".str_rev_gb($str1)."

";echo $str2."->".str_rev_gb($str2)."

";echo $str3."->".str_rev_gb($str3)."

";echo $str4."->".str_rev_gb($str4)."

";

php中文字串反轉

1 2header content type text html charset utf 8 3 4此函式的作用是反轉中文字串 5mb strlen 獲取字元的長度 6mb substr 獲取字元的單個元素 7krsort 按照鍵值逆序排序陣列 8implode 將陣列拼接為字串 9explode ...

php函式strrev 反轉中文字串亂碼的問題

解決辦法 先把中文字串打散成陣列,然後用krsort 函式對陣列按鍵名降序排序,排好序之後再用implode 或join 函式將陣列合併成字串。header content type text html charset utf 8 str 反轉中文 str arr ch2arr str 將中文字串打...

php中文字元字串反轉字串

header content type text html charset utf 8 s 這是我的技術部落格,歡迎多多來訪!function str rev str 用mb strlen函獲取算utf8字串的長度 length mb strlen str,utf 8 宣告乙個陣列備用 arr ar...