您好,登錄后才能下訂單哦!
小編給大家分享一下php怎么實現翻轉,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php實現翻轉的方法:1、使用strrev()函數實現英文字符串翻轉;2、通過自定義的selfStrrev方法實現中文字符串翻轉。
本文操作環境:Windows7系統、PHP7.1版、Dell G3電腦。
PHP自定義函數實現翻轉中文的功能
對于PHP語言來說,說到字符串翻轉大家首先想到應該就是strrev()這個函數了,
strrev定義和用法
strrev() 函數反轉字符串。
語法
strrev(string)
參數
string 必需。規定要反轉的字符串。
例如:
<?php echo strrev("Hello World!"); ?>
輸出結果為:!dlroW olleH
strrev()這個函數對英文很好用,直接可以實現字符串翻轉,但是如果是中文的話那么就都是亂碼了
例如:
<?php echo strrev("您好世界!"); ?>
輸出結果為:???疸僉娂? 這個結果是不是沒有人能看得懂啊。那么下面于老師就給大家分享一下如何反轉中文的代碼;
第一種方法:
function selfStrrev($str){ //判斷輸入的是不是utf8類型的字符,否則退出 if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){ exit("輸入類型不是UTF8類型的字符串"); } $array=array(); //將字符串存入數組 $l=mb_strlen($str,'UTF-8');//在mb_strlen計算時,選定內碼為UTF8,則會將一個中文字符當作長度1來計算 for($i=0;$i<$l;$i++){ $array[]=mb_substr($str,$i,1,'UTF-8'); } //反轉字符串 krsort($array); //拼接字符串 $string=implode($array); return $string; } $str = "于老師特別帥"; echo selfStrrev($str);
輸出結果為:帥別特師老于;
第二種方法:
function selfStrrev($str){ //判斷輸入的是不是utf8類型的字符,否則退出 if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){ exit("輸入類型不是UTF8類型的字符串"); } //定義一個新的字符串 用來存儲反轉后的字符串 $revStr = ""; $l=mb_strlen($str,'UTF-8');//在mb_strlen計算時,選定內碼為UTF8,則會將一個中文字符當作長度1來計算 for($i=$l;$i>0;$i--){ $revStr .= mb_substr($str,$i-1,1,'UTF-8'); //從最后一位開始截取,一直截取到第一位 然后拼接到定義好的新的字符串里面 } return $revStr; } $str = "于老師特別帥"; echo selfStrrev($str);
輸出結果為:帥別特師老于;
這里用到的技術就是mb_XXX 系列函數,需要注意的mb_XXX 系列函數是并不是PHP核心函數,使用前需要確保在php.ini中加載了php_mbstring.dll,即確保“extension=php_mbstring.dll”這一行存在并且沒有被注釋掉,否則會出現未定義函 數的問題;
以上是“php怎么實現翻轉”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。