strrev()是PHP中的一個內(nèi)置函數(shù),可以實現(xiàn)反轉(zhuǎn)字符串的功能,并返回已反轉(zhuǎn)的字符串;其語法格式為“strrev(string)”,參數(shù)string用于指定要反轉(zhuǎn)的字符串,不可省略。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
php strrev()函數(shù)
trrev() 函數(shù)反轉(zhuǎn)字符串。語法如下:
strrev(string)
參數(shù)說明:
-
string:必需。規(guī)定要反轉(zhuǎn)的字符串。
返回值: 返回已反轉(zhuǎn)的字符串。
示例1:反轉(zhuǎn)英文字符串
<?php echo strrev("Hello world!"); ?>
輸出:
!dlrow olleH
示例2:反轉(zhuǎn)數(shù)字
<?php $num = 134; echo "反轉(zhuǎn)前:"; var_dump($num); // 輸出反轉(zhuǎn)的數(shù)字 echo "反轉(zhuǎn)后:"; var_dump(strrev($num)); ?>
輸出:
反轉(zhuǎn)前:int(134) 反轉(zhuǎn)后:string(3) "431"
說明:strrev()函數(shù)會將數(shù)字轉(zhuǎn)換為數(shù)字字符串,然后在進(jìn)行反轉(zhuǎn)。
示例3:反轉(zhuǎn)中文
<?php header("content-type:text/html;charset=utf-8"); $str = "歡迎來到這里!"; function cnstrrev($str) { $len = strlen($str); for($i = 0; $i < $len; $i++) { $char = $str{0}; if(ord($char) > 127) //ord()函數(shù)取得第一個字符的ASCII碼,如果大于0xa0(127)的話則是中文字符 { $i+=2;//utf-8編碼的情況下,一個中文字符占三個字節(jié) if($i < $len) { $arr[] = substr($str, 0, 3);//utf-8編碼的情況下,一個中文字符占三個字節(jié) $str = substr($str, 3); } } else { $arr[] = $char; $str = substr($str, 1);//否則為非中文,占一個字符 } } return join(array_reverse($arr));//以相反的元素順序返回數(shù)組: } // 輸出反轉(zhuǎn)的字符串 echo '反轉(zhuǎn)前:'.$str.'<br><br>反轉(zhuǎn)后:'.cnstrrev($str); ?>
輸出:
反轉(zhuǎn)前:歡迎來到這里! 反轉(zhuǎn)后:!里這到來迎歡
說明:使用strrev()函數(shù)來反轉(zhuǎn)中文時,會出現(xiàn)中文亂碼問題;我們可以通過自定義一個函數(shù),在其中遍歷中文字符串,設(shè)置編碼格式,這樣就可以解決亂碼問題。
推薦學(xué)習(xí):《PHP視頻教程》