<? 
$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), 

解决方案 »

  1.   

    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; 
    } echo c($hz); 
    ?> 
    <form method=post> 
    输入中文<input name=hz> 
    </form> 
      

  2.   

    <?php
    /**
      拼音码表的生成:
          启动输入法生成器在逆转换选项卡中装入window的拼音输入法并将其保存为文
      本文件(winpy.txt)备用。
      
      下面的代码将拼音码表文件(文本)装入到数组$pymb中,结构为:(拼音,(汉字...))
      码表转换时间较长,应转换后另行保存
    */
    $filename = "pymb.txt";
    if(file_exists($filename)) {
      $fp = fopen($filename,"r");
      $pymb = unserialize(fread($fp,filesize($filename)));
      fclose($fp);
    }else {
      $filename = "winpy.txt";
      $fp = fopen($filename,"r");
      $old = "";
      $ar = array();
      $pymb = array();
      while(! feof($fp)) {
        $buffer = fgets($fp,128);
        sscanf($buffer,"%2s%s",$ch,$py);
        if($ch >= "啊" && ord($py) < 128) {
          $pymb[$ch] = $py;
        }
      }
      fclose($fp);
      $fp = fopen("pymb.txt","w");
      fwrite($fp,serialize($pymb)."\n");
      fclose($fp);
    }
    ?>
      应用例,给文字加上拼音<br>
    <?
    /**
      应用例,给文字加上拼音。为简化起见,假定全为中文
    */function get_py($text) {
      global $pymb;
      $i = 0;
      $n = strlen($text);
      $ar = array();
      while($i<$n) {
        $ch = $text[$i++];
        $py = " ";
        if(ord($ch) > 128) {
          $ch .= $text[$i++];
          $py = $pymb[$ch];
        }
        $ar[] = array($ch,$py);
      }
      return $ar;
    }$text = "  拼音码表的生成:
          启动输入法生成器在逆转换选项卡中装入window的拼音输入法并将其保存为文
      本文件(winpy.txt)备用。
      
      下面的代码将拼音码表文件(文本)装入到数组$pymb中,结构为:(拼音,(汉字...))
      码表转换时间较长,应转换后另行保存
    ";
    $ar = get_py($text);
    //print_r($ar);echo "<table><tr align=center>";
    for($i=0;$i<count($ar);$i++) {
      echo "<td>".$ar[$i][1]."</td>";
    }
    echo "</tr><tr align=center>";
    for($i=0;$i<count($ar);$i++) {
      echo "<td>".$ar[$i][0]."</td>";
    }
    echo "</tr></table>";
    ?>
      

  3.   

    我试了你给我的文件,但不是我想要的答案:(
    用mysql的语句来进行拼音排序很简单,但要实现上面的拼音分类这么复杂么?
    看来要失望了……