ordが全角文字対応してればいいのに

PHPで文字の文字コード値を返す
文字コードに関する関数はたくさんあるんですが、マルチバイト文字の文字コードをシンプルに返す関数ってないんでしょうかね。
ということで、備忘録です。
よく見かけるのは ord(“a”)なんですけど、1byte文字だけなんですよねー。ord(“あ”)のように全角文字入れると、文字コード値の最初の1バイト目だけ得られます。自分で1バイト目を判定してマルチバイト文字か判定すればいいことなんですけど、できればシンプルな方法でいきたいところです。
ということで、全角文字列をstr_splitでシングルバイトの配列に分解して、それをordで文字コードにして結合してみました。

function getCode($one_str){
	$arr = str_split($one_str); //1バイトずつ配列に分解
	foreach ($arr as $ch){
		 $ret=$ret.dechex(ord($ch)); //16進コードで表示
	}
	return $ret;
}
カテゴリー: PHP パーマリンク