附件一个是全国火车站中文名列表,另一个是中文拼音库,根据这两份资料最后生成一个火车站中文名和拼音对应表(一个一行,一行内用冒号隔开中文和拼音)注意如果用程序生成后,还要手工淘汰掉出错误的多音字
想问问思路,php数组索引去实现,应该怎么写
分数较少请见谅

解决方案 »

  1.   

    看了看老大的博客好像那篇文章不见了,不知道是不是记错。网上找了一段代码,未经测试。
    <?php
    $d=array(
    array("a",-20319),
    array("ai",-20317),
    array("an",-20304),
    array("ang",-20295),
    array("ao",-20292),
    array("ba",-20283),
    array("bai",-20265),
    array("ban",-20257),
    array("bang",-20242),
    array("bao",-20230),
    array("bei",-20051),
    array("ben",-20036),
    array("beng",-20032),
    array("bi",-20026),
    array("bian",-20002),
    array("biao",-19990),
    array("bie",-19986),
    array("bin",-19982),
    array("bing",-19976),
    array("bo",-19805),
    array("bu",-19784),
    array("ca",-19775),
    array("cai",-19774),
    array("can",-19763),
    array("cang",-19756),
    array("cao",-19751),
    array("ce",-19746),
    array("ceng",-19741),
    array("cha",-19739),
    array("chai",-19728),
    array("chan",-19725),
    array("chang",-19715),
    array("chao",-19540),
    array("che",-19531),
    array("chen",-19525),
    array("cheng",-19515),
    array("chi",-19500),
    array("chong",-19484),
    array("chou",-19479),
    array("chu",-19467),
    array("chuai",-19289),
    array("chuan",-19288),
    array("chuang",-19281),
    array("chui",-19275),
    array("chun",-19270),
    array("chuo",-19263),
    array("ci",-19261),
    array("cong",-19249),
    array("cou",-19243),
    array("cu",-19242),
    array("cuan",-19238),
    array("cui",-19235),
    array("cun",-19227),
    array("cuo",-19224),
    array("da",-19218),
    array("dai",-19212),
    array("dan",-19038),
    array("dang",-19023),
    array("dao",-19018),
    array("de",-19006),
    array("deng",-19003),
    array("di",-18996),
    array("dian",-18977),
    array("diao",-18961),
    array("die",-18952),
    array("ding",-18783),
    array("diu",-18774),
    array("dong",-18773),
    array("dou",-18763),
    array("du",-18756),
    array("duan",-18741),
    array("dui",-18735),
    array("dun",-18731),
    array("duo",-18722),
    array("e",-18710),
    array("en",-18697),
    array("er",-18696),
    array("fa",-18526),
    array("fan",-18518),
    array("fang",-18501),
    array("fei",-18490),
    array("fen",-18478),
    array("feng",-18463),
    array("fo",-18448),
    array("fou",-18447),
    array("fu",-18446),
    array("ga",-18239),
    array("gai",-18237),
    array("gan",-18231),
    array("gang",-18220),
    array("gao",-18211),
    array("ge",-18201),
    array("gei",-18184),
    array("gen",-18183),
    array("geng",-18181),
    array("gong",-18012),
    array("gou",-17997),
    array("gu",-17988),
    array("gua",-17970),
    array("guai",-17964),
    array("guan",-17961),
    array("guang",-17950),
    array("gui",-17947),
    array("gun",-17931),
    array("guo",-17928),
    array("ha",-17922),
    array("hai",-17759),
    array("han",-17752),
    array("hang",-17733),
    array("hao",-17730),
    array("he",-17721),
    array("hei",-17703),
    array("hen",-17701),
    array("heng",-17697),
    array("hong",-17692),
    array("hou",-17683),
    array("hu",-17676),
    array("hua",-17496),
    array("huai",-17487),
    array("huan",-17482),
    array("huang",-17468),
    array("hui",-17454),
    array("hun",-17433),
    array("huo",-17427),
    array("ji",-17417),
    array("jia",-17202),
    array("jian",-17185),
    array("jiang",-16983),
    array("jiao",-16970),
    array("jie",-16942),
    array("jin",-16915),
    array("jing",-16733),
    array("jiong",-16708),
    array("jiu",-16706),
    array("ju",-16689),
    array("juan",-16664),
    array("jue",-16657),
    array("jun",-16647),
    array("ka",-16474),
    array("kai",-16470),
    array("kan",-16465),
    array("kang",-16459),
    array("kao",-16452),
    array("ke",-16448),
    array("ken",-16433),
    array("keng",-16429),
    array("kong",-16427),
    array("kou",-16423),
    array("ku",-16419),
    array("kua",-16412),
    array("kuai",-16407),
    array("kuan",-16403),
    array("kuang",-16401),
    array("kui",-16393),
    array("kun",-16220),
    array("kuo",-16216),
    array("la",-16212),
    array("lai",-16205),
    array("lan",-16202),
    array("lang",-16187),
    array("lao",-16180),
    array("le",-16171),
    array("lei",-16169),
    array("leng",-16158),
    array("li",-16155),
    array("lia",-15959),
    array("lian",-15958),
    array("liang",-15944),
    array("liao",-15933),
    array("lie",-15920),
    array("lin",-15915),
    array("ling",-15903),
    array("liu",-15889),
    array("long",-15878),
    array("lou",-15707),
    array("lu",-15701),
    array("lv",-15681),
    array("luan",-15667),
    array("lue",-15661),
    array("lun",-15659),
    array("luo",-15652),
    array("ma",-15640),
    array("mai",-15631),
    array("man",-15625),
    array("mang",-15454),
    array("mao",-15448),
    array("me",-15436),
    array("mei",-15435),
    array("men",-15419),
    array("meng",-15416),
    array("mi",-15408),
    array("mian",-15394),
    array("miao",-15385),
    array("mie",-15377),
    array("min",-15375),
    array("ming",-15369),
    array("miu",-15363),
    array("mo",-15362),
    array("mou",-15183),
    array("mu",-15180),
    array("na",-15165),
    array("nai",-15158),
    array("nan",-15153),
    array("nang",-15150),
    array("nao",-15149),
    array("ne",-15144),
    array("nei",-15143),
    array("nen",-15141),
    array("neng",-15140),
    array("ni",-15139),
    array("nian",-15128),
    array("niang",-15121),
    array("niao",-15119),
    array("nie",-15117),
    array("nin",-15110),
    array("ning",-15109),
    array("niu",-14941),
    array("nong",-14937),
    array("nu",-14933),
    array("nv",-14930),
    array("nuan",-14929),
    array("nue",-14928),
    array("nuo",-14926),
    array("o",-14922),
    array("ou",-14921),
    array("pa",-14914),
    array("pai",-14908),
    array("pan",-14902),
    array("pang",-14894),
    array("pao",-14889),
    array("pei",-14882),
    array("pen",-14873),
    array("peng",-14871),
    array("pi",-14857),
    array("pian",-14678),
    array("piao",-14674),
    array("pie",-14670),
    array("pin",-14668),
    array("ping",-14663),
    array("po",-14654),
    array("pu",-14645),
    array("qi",-14630),
    array("qia",-14594),
    array("qian",-14429),
    array("qiang",-14407),
    array("qiao",-14399),
    array("qie",-14384),
    array("qin",-14379),
    array("qing",-14368),
    array("qiong",-14355),
    array("qiu",-14353),
    array("qu",-14345),
    array("quan",-14170),
    array("que",-14159),
    array("qun",-14151),
    array("ran",-14149),
    array("rang",-14145),
    array("rao",-14140),
    array("re",-14137),
    array("ren",-14135),
    array("reng",-14125),
    array("ri",-14123),
    array("rong",-14122),
    array("rou",-14112),
    array("ru",-14109),
    array("ruan",-14099),
    array("rui",-14097),
    array("run",-14094),
    array("ruo",-14092),
    array("sa",-14090),
    array("sai",-14087),
    array("san",-14083),
    array("sang",-13917),
    array("sao",-13914),
    array("se",-13910),
    array("sen",-13907),
    array("seng",-13906),
    array("sha",-13905),
    array("shai",-13896),
    array("shan",-13894),
    array("shang",-13878),
    array("shao",-13870),
    array("she",-13859),
    array("shen",-13847),
    array("sheng",-13831),
    array("shi",-13658),
    array("shou",-13611),
    array("shu",-13601),
    array("shua",-13406),
    array("shuai",-13404),
    array("shuan",-13400),
    array("shuang",-13398),
    array("shui",-13395),
    array("shun",-13391),
    array("shuo",-13387),
    array("si",-13383),
    array("song",-13367),
    array("sou",-13359),
    array("su",-13356),
    array("suan",-13343),
    array("sui",-13340),
    array("sun",-13329),
    array("suo",-13326),
    array("ta",-13318),
    array("tai",-13147),
    array("tan",-13138),
    array("tang",-13120),
    array("tao",-13107),
    array("te",-13096),
    array("teng",-13095),
    array("ti",-13091),
    array("tian",-13076),
    array("tiao",-13068),
    array("tie",-13063),
    array("ting",-13060),
    array("tong",-12888),
    array("tou",-12875),
    array("tu",-12871),
    array("tuan",-12860),
    array("tui",-12858),
    array("tun",-12852),
    array("tuo",-12849),
    array("wa",-12838),
    array("wai",-12831),
    array("wan",-12829),
    array("wang",-12812),
    array("wei",-12802),
    array("wen",-12607),
    array("weng",-12597),
    array("wo",-12594),
    array("wu",-12585),
    array("xi",-12556),
    array("xia",-12359),
    array("xian",-12346),
    array("xiang",-12320),
    array("xiao",-12300),
    array("xie",-12120),
    array("xin",-12099),
    array("xing",-12089),
    array("xiong",-12074),
    array("xiu",-12067),
    array("xu",-12058),
    array("xuan",-12039),
    array("xue",-11867),
    array("xun",-11861),
    array("ya",-11847),
    array("yan",-11831),
    array("yang",-11798),
    array("yao",-11781),
    array("ye",-11604),
    array("yi",-11589),
    array("yin",-11536),
    array("ying",-11358),
    array("yo",-11340),
    array("yong",-11339),
    array("you",-11324),
    array("yu",-11303),
    array("yuan",-11097),
    array("yue",-11077),
    array("yun",-11067),
    array("za",-11055),
    array("zai",-11052),
    array("zan",-11045),
    array("zang",-11041),
    array("zao",-11038),
    array("ze",-11024),
    array("zei",-11020),
    array("zen",-11019),
    array("zeng",-11018),
    array("zha",-11014),
    array("zhai",-10838),
    array("zhan",-10832),
    array("zhang",-10815),
    array("zhao",-10800),
    array("zhe",-10790),
    array("zhen",-10780),
    array("zheng",-10764),
    array("zhi",-10587),
    array("zhong",-10544),
    array("zhou",-10533),
    array("zhu",-10519),
    array("zhua",-10331),
    array("zhuai",-10329),
    array("zhuan",-10328),
    array("zhuang",-10322),
    array("zhui",-10315),
    array("zhun",-10309),
    array("zhuo",-10307),
    array("zi",-10296),
    array("zong",-10281),
    array("zou",-10274),
    array("zu",-10270),
    array("zuan",-10262),
    array("zui",-10260),
    array("zun",-10256),
    array("zuo",-10254)
    );
    function g($num){
    global $d;
    if($num>0&&$num<160){
       return chr($num);
    }
    elseif($num<-20319||$num>-10247){
       return "";
    }else{
       for($i=count($d)-1;$i>=0;$i--)
        {if($d[$i][1]<=$num)break;}
       return $d[$i][0];
    }
    }
     
    function c($str){
    $ret="";
    for($i=0;$i<strlen($str);$i++){
       $p=ord(substr($str,$i,1));
       if($p>160){
        $q=ord(substr($str,++$i,1));
        $p=$p*256+$q-65536;
       }
       $ret.=g($p);
    }
    return $ret;
    }
    if (isset($_POST['ok']) and strlen(trim($_POST['chinese']))>0) {
        $str = $_POST['chinese'];
    } else {
         $str = "walkman";
    }
    echo "说明:将中文转换为拼音<br>";
     
    echo c($str);
    //echo c("");
    //echo c("将中文转换为拼音");
    ?>
      

  2.   

    数据的格式,txt文件深圳北 深圳西 石龙 顺德 遂溪
    小榄 兴宁 新兴县 信宜 徐闻
    阳春 英德 源潭 樟木头 湛江
    湛江西 肇庆 中山 中山北 珠海北
    百浪 百色 北海 北流 岑溪
    崇左 大拟 大王滩 大元 防城
    防城港 扶绥 贵港 桂林 桂林北吖:a
    阿:a
    阿:e
    啊:a
    锕:a
    錒:a
    嗄:a
    哎:ai
    哀:ai
    唉:ai
    唉:ai
    埃:ai
    挨:ai
    挨:ai
    溾:ai
    锿:ai
    鎄:ai
    啀:ai
    捱:ai
    皑:ai
    凒:ai
    嵦:ai
    溰:ai
    嘊:ai
    敱:ai
    敳:ai
    皚:ai
    癌:ai
    娾:ai
    隑:ai
    剴:ai
    騃:ai
    毐:ai
    昹:ai
    矮:ai
    蔼:ai
    躷:ai
    濭:ai
    藹:ai
    譪:ai
    霭:ai
    靄:ai
    鯦:ai
    噯:ai
    艾:ai
    艾:yi
    伌:ai
    爱:ai
    砹:ai
    硋:ai
    隘:ai
    嗌:ai
    塧:ai
    嫒:ai
    愛:ai
    碍:ai
    叆:ai
    暧:ai
    瑷:ai
    僾:ai
    壒:ai
    嬡:ai
    懓:ai
    薆:ai
    懝:ai
    曖:ai
    賹:ai
    餲:ai
    鴱:ai
    皧:ai
    瞹:ai
    馤:ai
    礙:ai
    譺:ai
    鑀:ai
    鱫:ai
    靉:ai
    閡:ai
    欬:ai
    焥:ai
    堨:ai
    乂:ai
    嗳:ai
    璦:ai
    安:an
    侒:an
    峖:an
    桉:an
    氨:an
    庵:an
    谙:an
    媕:an
    萻:an
    葊:an
    痷:an
    腤:an
    鹌:an
    蓭:an
    誝:an
    鞌:an
    鞍:an
    盦:an
    闇:an
    馣:an
    鮟:an
    盫:an
    鵪:an
    韽:an
    鶕:an
    啽:an
    厰:an
    鴳:an
    諳:an
    玵:an
    雸:an
    儑:an
    垵:an
    俺:an
    唵:an
    埯:an
    铵:an
    隌:an
    揞:an
    晻:an
    罯:an
    銨:an
    碪:an
    犴:an
    岸:an
    按:an
    洝:an
    荌:an
    案:an
    胺:an
    豻:an
    堓:an
    婩:an
    貋:an
    錌:an
    黯:an
    頇:an
    屽:an
    垾:an
    遃:an
    暗:an
    肮:ang
    骯:ang
    岇:ang
    昂:ang
    昻:ang
    卬:ang
    枊:ang
    盎:ang
    醠:ang
    凹:ao
    垇:ao
    柪:ao
    軪:ao
    爊:ao
    熝:ao
    眑:ao
    泑:ao
    梎:ao
    敖:ao
    厫:ao
    隞:ao
    嗷:ao
    嗸:ao
    嶅:ao
    廒:ao
    滶:ao
    獒:ao
    獓:ao
    遨:ao
    摮:ao
    璈:ao
    蔜:ao
    磝:ao
    翱:ao
    聱:ao
    螯:ao
    翶:ao
    謷:ao
    翺:ao
    鳌:ao
    鏖:ao
    鰲:ao
    鷔:ao
    鼇:ao
    慠:ao
    鏕:ao
    嚻:ao
    熬:ao
    熬:ao
    抝:ao
    芺:ao
    袄:ao
    媪:ao
    镺:ao
    媼:ao
    襖:ao
    郩:ao
    鴁:ao
    蝹:ao
    坳:ao
    岙:ao
    扷:ao
    岰:ao
    傲:ao
    奡:ao
    奥:ao
    嫯:ao
    奧:ao
    澚:ao
    墺:ao
    嶴:ao
      

  3.   

    我现在读取文件,然后将每个词存入了数组,explode(" ",$readz);接下来想将数组中每个元素的字符串,按每个子那样取出,进行对比。不知道该怎么操作字符串
      

  4.   


    拼音库.txt
    吖:a
    阿:a
    阿:e
    啊:a
    锕:a
    錒:a
    嗄:a
    哎:ai
    哀:ai
    ......则
    function foo($v) {
      return explode(':', trim($v));
    }
    foreach(array_map('foo', file('拼音库.txt') as $v)
      $dict[$v[0]] = $v[1];就产生了 汉字为键,拼音为值得数组 $dictfor
      

  5.   


    我觉得您这个解答跟我的那个要求不大一样,但是我还是想提问下,就是比如我想用str_split();这个函数,把字符串分割。
    $str='hello';
    $str=str_split($str);
    print_r($str);这样是可以的,但是如果把换成
     $str='你好!';
    $str=str_split($str);
    print_r($str);
    就是说我应该怎么把中文的一个完整的词一个一个字的输出呢????