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

創(chuàng)新互聯(lián)建站成立與2013年,先為青銅峽等服務(wù)建站,青銅峽等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為青銅峽企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
php如何實現(xiàn)翻轉(zhuǎn)?PHP自定義函數(shù)實現(xiàn)翻轉(zhuǎn)中文的功能
對于PHP語言來說,說到字符串翻轉(zhuǎn)大家首先想到應(yīng)該就是strrev()這個函數(shù)了,
strrev定義和用法
strrev() 函數(shù)反轉(zhuǎn)字符串。
語法
strrev(string)
參數(shù)
string 必需。規(guī)定要反轉(zhuǎn)的字符串。
例如:
輸出結(jié)果為:!dlroW olleH
strrev()這個函數(shù)對英文很好用,直接可以實現(xiàn)字符串翻轉(zhuǎn),但是如果是中文的話那么就都是亂碼了
例如:
輸出結(jié)果為:???疸僉娂? 這個結(jié)果是不是沒有人能看得懂啊。那么下面于老師就給大家分享一下如何反轉(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計算時,選定內(nèi)碼為UTF8,則會將一個中文字符當作長度1來計算
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類型的字符串");
}
//定義一個新的字符串 用來存儲反轉(zhuǎn)后的字符串
$revStr = "";
$l=mb_strlen($str,'UTF-8');//在mb_strlen計算時,選定內(nèi)碼為UTF8,則會將一個中文字符當作長度1來計算
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,即確保“extension=php_mbstring.dll”這一行存在并且沒有被注釋掉,否則會出現(xiàn)未定義函 數(shù)的問題;
當前名稱:php如何實現(xiàn)翻轉(zhuǎn)
URL地址:http://m.jiaoqi3.com/article/dppssep.html


咨詢
建站咨詢
