PHP面試題——PHP字符串翻轉函數


  偶遇一PHP面試題,題目很短,也很常見,但更容易出錯,題目如下

  如何實現字符串翻轉?

  第一反應,當然是strrev函數啦,這么容易的題目還放在面試里考,真不嫌麻煩啊?但是看了網上的答案后,發現自己錯了~~~

  strrev函數對英文很好用,直接可以實現字符串翻轉,但是面對中文呢?肯定都是亂碼,對於這樣的問題有很多,比如strstr,substr等函數都是這樣的。還好PHP提供了mb_類的函數實現不同編碼、不同語言之間的相互轉換等操作。下面是我寫的PHP字符串翻轉函數(mb_類的函數需要開啟一個mb_string實現)。

<?PHP function getRev($str,$encoding='utf-8'){ $result = ''; $len = mb_strlen($str); for($i=$len-1; $i>=0; $i--){ $result .= mb_substr($str,$i,1,$encoding); } return $result; } $string = 'OK你是正確的Ole'; echo getRev($string); ?>

  輸出結果:

---------- PHP Debugger ---------- elO的確正是你KO Output completed (0 sec consumed) - Normal Termination

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM