1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
/* -------------------------------------------------------------
 *   -- ひらがな1文字から2桁数値へ変換(昇順コードづくり)--
 *  【引数】:ひらがな一文字
 *  【戻り値】:コード(2桁数値)
 *
 *   2016.05.18 作成:yoshi of CXMedia Inc.
 * ------------------------------------------------------------- */
function hiraganamapping($str){
    
/* ---------------------------------------------------------------------
     *            ひらがなからコードへ変換するテーブル
     * --------------------------------------------------------------------- */
    
$hiragana_map_ary = array(
        
'あ' => '10''い' => '11''う' => '12''え' => '13''お' => '14',
        
'ぁ' => '15''ぃ' => '16''ぅ' => '17''ぇ' => '18''ぉ' => '19',
        
'か' => '20''き' => '21''く' => '22''け' => '23''こ' => '24',
        
'が' => '25''ぎ' => '26''ぐ' => '27''げ' => '28''ご' => '29',
        
'さ' => '30''し' => '31''す' => '32''せ' => '33''そ' => '34',
        
'ざ' => '35''じ' => '36''ず' => '37''ぜ' => '38''ぞ' => '39',
        
'た' => '40''ち' => '41''つ' => '42''て' => '43''と' => '44',
        
'だ' => '45''ぢ' => '46''づ' => '47''で' => '48''ど' => '49',
        
'っ' => '50',
        
'な' => '55''に' => '56''ぬ' => '57''ね' => '58''の' => '59',
        
'は' => '60''ひ' => '61''ふ' => '62''へ' => '63''ほ' => '64',
        
'ば' => '65''び' => '66''ぶ' => '67''べ' => '68''ぼ' => '69',
        
'ぱ' => '70''ぴ' => '71''ぷ' => '72''ぺ' => '73''ぽ' => '74',
        
'ま' => '75''み' => '76''む' => '77''め' => '78''も' => '79',
        
'や' => '80''ゆ' => '81''よ' => '82',
        
'ゃ' => '83''ゅ' => '84''ょ' => '85',
        
'ら' => '90''り' => '91''る' => '92''れ' => '93''ろ' => '94',
        
'わ' => '95''ゎ' => '96''を' => '97''ん' => '98''、' => '99',
        
' ' => '01''ー' => '02''・' => '03''~' => '04''。' => '05',
        
'!' => '06''?' => '07''(' => '08'')' => '09',
        
    );

    
$str = (isset($hiragana_map_ary[$str]) && $str)? $hiragana_map_ary[$str] : '00';
    return 
sprintf('%02d',$str);
}