新聞中心
本文操作環(huán)境:Windows7系統(tǒng)、php7.1版、Dell G3電腦。

創(chuàng)新互聯(lián)建站成立與2013年,先為青銅峽等服務(wù)建站,青銅峽等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為青銅峽企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
php如何實(shí)現(xiàn)翻轉(zhuǎn)?PHP自定義函數(shù)實(shí)現(xiàn)翻轉(zhuǎn)中文的功能
對(duì)于PHP語(yǔ)言來(lái)說(shuō),說(shuō)到字符串翻轉(zhuǎn)大家首先想到應(yīng)該就是strrev()這個(gè)函數(shù)了,
strrev定義和用法
strrev() 函數(shù)反轉(zhuǎn)字符串。
語(yǔ)法
strrev(string)
參數(shù)
string 必需。規(guī)定要反轉(zhuǎn)的字符串。
例如:
輸出結(jié)果為:!dlroW olleH
strrev()這個(gè)函數(shù)對(duì)英文很好用,直接可以實(shí)現(xiàn)字符串翻轉(zhuǎn),但是如果是中文的話那么就都是亂碼了
例如:
輸出結(jié)果為:???疸僉娂? 這個(gè)結(jié)果是不是沒(méi)有人能看得懂啊。那么下面于老師就給大家分享一下如何反轉(zhuǎn)中文的代碼;
第一種方法:
function selfStrrev($str){
//判斷輸入的是不是utf8類型的字符,否則退出
if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){
exit("輸入類型不是UTF8類型的字符串");
}
$array=array();
//將字符串存入數(shù)組
$l=mb_strlen($str,'UTF-8');//在mb_strlen計(jì)算時(shí),選定內(nèi)碼為UTF8,則會(huì)將一個(gè)中文字符當(dāng)作長(zhǎng)度1來(lái)計(jì)算
for($i=0;$i<$l;$i++){
$array[]=mb_substr($str,$i,1,'UTF-8');
}
//反轉(zhuǎn)字符串
krsort($array);
//拼接字符串
$string=implode($array);
return $string;
}
$str = "于老師特別帥";
echo selfStrrev($str);
輸出結(jié)果為:帥別特師老于;
第二種方法:
function selfStrrev($str){
//判斷輸入的是不是utf8類型的字符,否則退出
if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){
exit("輸入類型不是UTF8類型的字符串");
}
//定義一個(gè)新的字符串 用來(lái)存儲(chǔ)反轉(zhuǎn)后的字符串
$revStr = "";
$l=mb_strlen($str,'UTF-8');//在mb_strlen計(jì)算時(shí),選定內(nèi)碼為UTF8,則會(huì)將一個(gè)中文字符當(dāng)作長(zhǎng)度1來(lái)計(jì)算
for($i=$l;$i>0;$i--){
$revStr .= mb_substr($str,$i-1,1,'UTF-8'); //從最后一位開始截取,一直截取到第一位 然后拼接到定義好的新的字符串里面
}
return $revStr;
}
$str = "于老師特別帥";
echo selfStrrev($str);
輸出結(jié)果為:帥別特師老于;
這里用到的技術(shù)就是mb_XXX 系列函數(shù),需要注意的mb_XXX 系列函數(shù)是并不是PHP核心函數(shù),使用前需要確保在php.ini中加載了php_mbstring.dll,即確?!癳xtension=php_mbstring.dll”這一行存在并且沒(méi)有被注釋掉,否則會(huì)出現(xiàn)未定義函 數(shù)的問(wèn)題;
網(wǎng)頁(yè)名稱:php如何實(shí)現(xiàn)翻轉(zhuǎn)
本文路徑:http://m.5511xx.com/article/dppssep.html


咨詢
建站咨詢
