ホームページ  >  記事  >  バックエンド開発  >  PHP 面接の質問??PHP 文字列反転関数

PHP 面接の質問??PHP 文字列反転関数

WBOY
WBOYオリジナル
2016-06-23 14:29:441111ブラウズ

PHP の面接の質問に遭遇しました。質問は非常に短く、非常に一般的ですが、間違いやすいのは次のとおりです

  如何实现字符串翻转?

私の最初の反応は、もちろん strrev 関数でした。こんな簡単な質問がまだ面接にあるのは面倒だと思いませんか?しかし、インターネット上の答えを読んで、私は間違っていたことがわかりました~~~

strrev関数は英語では非常に便利で、文字列の反転を直接実現できますが、中国語ではどうですか? strstr関数やsubstr関数など、このような問題はたくさんあります。幸いなことに、PHP には、異なるエンコーディングや異なる言語間の変換などの操作を実装するための mb_ クラスの関数が用意されています。以下は、私が作成した PHP 文字列反転関数です (mb_class 関数は 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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。