一、在學習PHP的字串函數,發現strrve函數翻轉中文時,會出現亂碼情況
二、執行結果
三、解決方法:重寫一個函式
四、執行翻轉結果
五、參考連結
一、在學習PHP的字串函數,發現strrve函數翻轉中文時,會出現亂碼情況
$str="網站伺服器程式設計:Php與MySql"; echo strrev($str)."<br>"; |
二、執行結果:
lqSyM���phP:��譨菼勨稙卜溼䙫粶� |
三、解決方法:重寫一個函式
<?
function cnstrrev($str)
{
$len = strlen($str);
for($i = 0; $i < $len; $i++)
{
$char = $str{0};
//ord()函式取得第一個字元的ASCII碼,如果大於0xa0(127)的話則是中文字元
if(ord($char) > 127)
{
//utf-8編碼的情況下,一箇中文字元佔三個位元組
$i+=2;
if($i < $len)
{
//utf-8編碼的情況下,一箇中文字元佔三個位元組
$arr[] = substr($str, 0, 3);
$str = substr($str, 3);
}
}
else
{
$arr[] = $char;
//否則為非中文,佔一個字元
$str = substr($str, 1);
}
}
//以相反的元素順序返回陣列:
return join(array_reverse($arr));
}
echo "執行翻轉結果:".cnstrrev($str);
?>
|
四、執行翻轉結果:
lqSyM與phP:計設式程器服伺站網 |
五、參考連結:
https://www.itread01.com/article/1484276841.html |
文章標籤
全站熱搜
留言列表