拼音庫創設 php

來源:互聯網
上載者:User
拼音庫建立 php

主要實現從一個資料庫中擷取中文名稱並擷取所有可能拼音的的大寫字母組合。然後和名稱一起匯入另外一個資料庫

";  }return $temp;}//排列組合函數,實現所有可能大寫字母組合,比如中國銀行大寫拼字可能為“ZGYH”“ZGYX”error_reporting( E_ALL&~E_NOTICE );function get_new_arr(){$args = func_get_args();//取得所有傳入參數的數組$arr = array();foreach($args as $k=>$v){ if($args[$k+1]) {switch($k) {case 0:$arr[$k] = arr_pailie($v,$args[$k+1]);break;default:$arr[$k] = arr_pailie($arr[$k-1],$args[$k+1]);break;}}}$key = count($arr)-1;$res = implode('.',$arr[$key]);return $res;}function arr_pailie ($arr1, $arr2){$arr = array();$k = 0;foreach($arr1 as $k1=>$v1){foreach($arr2 as $k2=>$v2){$arr[$k] = $v1.",".$v2;$k++;}}return $arr;}//資料庫連接,取出名稱和標識$dbname="DB1";$servcon=mysql_connect(MySql資料庫地址、使用者名稱、帳號);if(!$servcon){ die("Fail to connect to DataBase! Error:".mysql_error());}mysql_select_db($dbname,$servcon);$select = mysql_query("select Symbol,Name from smallsnapshoot");//資料庫連接,將股票轉換的結果直接輸入到資料庫stockdb的py_convert表中$dbname1="DB2";$servcon1=mysql_connect(MySql資料庫地址、使用者名稱、帳號);if(!$servcon1){ die("Fail to connect to DataBase! Error:".mysql_error());}mysql_select_db($dbname1,$servcon1);//迴圈取來源資料庫每行名稱、標識while($row = mysql_fetch_array($select)){//將漢字逐個輸入進行尋找並儲存到$arr_list數組//$str = "平單銀行";$str = $row["Name"];$len = mb_strlen($str,"utf-8");$arr_list = array();for($i=0;$i<$len;$i++){$arr[] = mb_substr($str,$i,1,"utf-8");$arr_list[$i] = get_firstchar($arr[$i]);}//echo $arr_list[3];//迴圈取每個字元數組字母進行匹配儲存到$arr_str中//排列組合函數調用,先將字串數組的每個元素轉換為對就數組,因為本環境名稱最多為三個字或四個字$arr1 = array();$arr2 = array();$arr3 = array();$arr1 = str_split($arr_list[0]);$arr2 = str_split($arr_list[1]);$arr3 = str_split($arr_list[2]);if(count($arr_list) == 4){$arr4 = array();$arr4 = str_split($arr_list[3]);$result= get_new_arr($arr1,$arr2,$arr3,$arr4);//echo count($arr_list);}else{$result= get_new_arr($arr1,$arr2,$arr3);//echo count($arr_list);}//echo $result; //對組合資料轉化為數組並重複資料刪除數組$arr_str = array();$arr_str = explode('.',$result);//echo $arr_str[1];for($i=0;$i";//$str_end .= $arr_str[$i];$py_insert = "INSERT INTO py_convert(py_short_name, py_stock_name, py_stock_symbol) VALUE('$arr_str[$i]', '$row["Name"]', '$row["Symbol"]')";$result = mysql_query($py_insert) or die("Error in query: $query. ".mysql_error()); }}//echo $str_end;}mysql_close($servcon);mysql_close($servcon1);?>建立資料庫DB2中拼音表如下:

因為涉及的為漢字名稱,所以採用的編輯環境為UTF-8。其中排列組合函數是借鑒的別人的,自己也想了半天效果不好,關鍵是資料邏輯思維不清楚,可見資料思維的重要性。

自己也是邊學邊做,php函數的調用不是很熟練,以後要加強編程方面練習。有寫得不好的地方,歡迎各位大神指正,互相交流,共同進步!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.