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