您好,登錄后才能下訂單哦!
怎么在PHP項目中實現一個字符串翻轉功能?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
代碼:
<?php header("content-type:text/html;charset=utf-8"); /** strrev() 函數反轉字符串。 語法 strrev(string) 參數 描述 string 必需。規定要反轉的字符串。 */ /** 此函數的作用是反轉中文字符串 mb_strlen() 獲取字符的長度 mb_substr() 獲取字符的單個元素 krsort() 按照鍵值逆序排序數組,對關聯數組按照鍵名進行降序排序 Array ( [8] => 國 [7] => 中 [6] => h [5] => s [4] => i [3] => l [2] => g [1] => n [0] => E ) English中國->國中hsilgnE (ksort()對關聯數組按照鍵名進行升序排序) implode() 將數組拼接為字符串 explode() 使用字符串分隔字符串 */ function str_rev_gb($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; } $str1 = "Englist"; $str2 = "English中國"; $str3 = "Eng中lish國"; $str4 = "中華人民共和國"; echo '直接用PHP自帶strrev函數反轉:'.'<br />'; echo $str1."->".strrev($str1)."<br>"; echo $str2."->".strrev($str2)."<br>"; echo $str3."->".strrev($str3)."<br>"; echo $str4."->".strrev($str4)."<br>"; echo '<br />'; echo $str1."->".str_rev_gb($str1)."<br>"; echo $str2."->".str_rev_gb($str2)."<br>"; echo $str3."->".str_rev_gb($str3)."<br>"; echo $str4."->".str_rev_gb($str4)."<br>";
運行結果:
直接用PHP自帶strrev函數反轉:
Englist->tsilgnE
English中國->??學?hsilgnE
Eng中lish國->???hsil???gnE
中華人民共和國->??匒居呰溺?學?
Englist->tsilgnE
English中國->國中hsilgnE
Eng中lish國->國hsil中gnE
中華人民共和國->國和共民人華中
需要注意的是,mb_strlen并不是PHP核心函數,使用前需要確保在php.ini中加載了php_mbstring.dll,即確保“extension=php_mbstring.dll”這一行存在并且沒有被注釋掉,否則會出現未定義函 數的問題。
關于怎么在PHP項目中實現一個字符串翻轉功能問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。