challenge 文字列の反転

与えられた文字列sを前後逆転したものを返す関数reverse_stringを作成してください。 ただし、sはShift-JISでエンコードされている文字列だと仮定して構いません。

サンプル入出力

>>> print reverse_string("Hello")
olleH
>>> print reverse_string("こんにちは")
はちにんこ
>>> print reverse_string("濁点(だくてん)")
)んてくだ(点濁

Posted feedbacks - PHP

マルチバイト文字列関数に丁度いい関数がなかったので
一度UTF16に変換して逆順にして元に戻してみた。
逆順にするとエンディアンが変わるってのがミソ。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
function mb_strrev($str,$encoding)
{
	return mb_convert_encoding(strrev(mb_convert_encoding($str,"UTF-16BE",$encoding)),$encoding,"UTF-16LE");
}

echo mb_strrev("Hello","SJIS"),"\n";
echo mb_strrev("こんにちは","SJIS"),"\n";
echo mb_strrev("濁点(だくてん)","SJIS"),"\n";
?>

Index

Feed

Other

Link

Pathtraq

loading...