反轉(zhuǎn)字符串是最基本的字符串操作之一,在PHP中可以使用內(nèi)置函數(shù)strrev()來(lái)實(shí)現(xiàn)字符串的反轉(zhuǎn)。下面本篇文章就來(lái)帶大家了解一下PHP strrev()函數(shù)怎么用,希望對(duì)大家有所幫助。
PHP strrev()函數(shù)
strrev()函數(shù)是PHP中的一個(gè)內(nèi)置函數(shù),它可用于反轉(zhuǎn)字符串。該函數(shù)不會(huì)對(duì)作為參數(shù)傳遞給它的原始字符串進(jìn)行任何更改。
基本語(yǔ)法:
string strrev($inpString)
參數(shù):strrev()函數(shù)接受單個(gè)參數(shù)$inpString。此參數(shù)是一個(gè)字符串(英文、中文、數(shù)字,混合字符串),它指定我們需要反轉(zhuǎn)的字符串。如果將數(shù)字傳遞給它,那么它會(huì)將其當(dāng)作是數(shù)字字符串,然后進(jìn)行反轉(zhuǎn)。
返回值: strrev()函數(shù)返回反轉(zhuǎn)的字符串(英文、中文、數(shù)字,混合字符串)。它不會(huì)對(duì)參數(shù)中傳遞的原始字符串進(jìn)行任何更改。
PHP strrev()函數(shù)的使用示例
下面通過(guò)代碼示例來(lái)看看PHP strrev()函數(shù)的使用方法。
示例1:使用strrev()函數(shù)來(lái)反轉(zhuǎn)英文字符串
- <?php
- $str = "hello!";
- // 輸出反轉(zhuǎn)的字符串
- echo strrev($str);
- ?>
輸出:
!olleh
示例2:使用strrev()函數(shù)來(lái)反轉(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"
說(shuō)明:strrev()函數(shù)會(huì)將數(shù)字轉(zhuǎn)換為數(shù)字字符串,然后在進(jìn)行反轉(zhuǎn)。
示例3:使用strrev()函數(shù)來(lái)反轉(zhuǎn)中文
- <?php
- header("content-type:text/html;charset=utf-8");
- $str = "歡迎來(lái)到這里!";
- function cnstrrev($str)
- {
- $len = strlen($str);
- for($i = 0; $i < $len; $i++)
- {
- $char = $str{0};
- if(ord($char) > 127) //ord()函數(shù)取得第一個(gè)字符的ASCII碼,如果大于0xa0(127)的話則是中文字符
- {
- $i+=2;//utf-8編碼的情況下,一個(gè)中文字符占三個(gè)字節(jié)
- if($i < $len)
- {
- $arr[] = substr($str, 0, 3);//utf-8編碼的情況下,一個(gè)中文字符占三個(gè)字節(jié)
- $str = substr($str, 3);
- }
- }
- else
- {
- $arr[] = $char;
- $str = substr($str, 1);//否則為非中文,占一個(gè)字符
- }
- }
- return join(array_reverse($arr));//以相反的元素順序返回?cái)?shù)組:
- }
- // 輸出反轉(zhuǎn)的字符串
- echo '反轉(zhuǎn)前:'.$str.'<br><br>反轉(zhuǎn)后:'.cnstrrev($str);
- ?>
輸出:
反轉(zhuǎn)前:歡迎來(lái)到這里!
反轉(zhuǎn)后:!里這到來(lái)迎歡
說(shuō)明:使用strrev()函數(shù)來(lái)反轉(zhuǎn)中文時(shí),會(huì)出現(xiàn)中文亂碼問(wèn)題;我們可以通過(guò)自定義一個(gè)函數(shù),在其中遍歷中文字符串,設(shè)置編碼格式,這樣就可以解決亂碼問(wèn)題。
新聞熱點(diǎn)
疑難解答