note 51496 added to function.mb-convert-kana

From: Date: Fri, 01 Apr 2005 11:00:19 +0000
Subject: note 51496 added to function.mb-convert-kana
Groups: php.notes 
Request: Send a blank email to php-notes+get-87313@lists.php.net to get a copy of this message
I didn't find Japanese sorting function. (mb_sort_kana or something) Only SJIS encoding treats hankaku kata kana, I can't post here copy & paste version script. I'm sorry... You will replace comments with appropriate japanese string, and write exception handlings between lines as you like. <?php mb_internal_encoding("SJIS"); $moji = /*"aiueo...wawon -?.," <- serialized hankaku kata kana 50 on hyou goes here*/; $moji .= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxwz0123456789"; for($i = 0; isset($moji[$i]); $i++){ $pittan[$moji[$i]] = $i; } function cmp($a, $b) { if ($a == $b) { return 0; } return iter(mb_convert_kana($a, "askh") ,mb_convert_kana($b, "askh"), 0); } function iter($a, $b, $i){ global $pittan; if(!isset($a[$i]) || !isset($b[$i])){ return (isset($b[$i]))? -1 : 1; } if ($pittan[$a[$i]] == $pittan[$b[$i]]){ return iter($a, $b, ++$i); } return (($pittan[$a[$i]]) < ($pittan[$b[$i]]))? -1 : 1; } echo "<pre>"; $arr = array(/*some japanese array here*/); usort($arr, "cmp"); var_dump($arr); ?> ---- Manual Page -- http://www.php.net/manual/en/function.mb-convert-kana.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+51496 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+51496&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+51496&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+51496&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+51496&report=yes&reason=useless Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+51496&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+51496&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#87313) next »