拼音库创建 php
主要实现从一个数据库中获取中文名称并获取所有可能拼音的的大写字母组合。然后和名称一起导入另外一个数据库
<!--?php //通过查找拼音表匹配每个汉子对应首字母 function get_firstchar($keyword) { $array = array(); $temp = ""; $array = explode('[',file_get_contents("拼音库文本.txt")); //echo $array[3]; for($i=0;$i<count($array);$i++){ if(strstr($array[$i],$keyword) != null) $temp = $temp . strtoupper(substr($array[$i],0,1)); //打印数组的元素的值 //echo $array[$i],"<br-->"; } 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(<span style="font-family: Arial, Helvetica, sans-serif;">MySql数据库地址、用户名、账号</span>); 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<count($arr_str);$i++){ .="$arr_str[$i];" arr_str="array_unique($arr_str);" br="" class="php" echo="" error="" i="0;$i<$membercout;$i++){" in="" membercout="count($arr_str);" name="code" or="" pre="" py_insert="INSERT INTO py_convert(py_short_name, py_stock_name, py_stock_symbol) VALUE('$arr_str[$i]', '$row[" query.="" query:="" result="mysql_query($py_insert)" str_end=""><!--?php $con=mysql_connect(数据库名称、账号、密码); if (!$con) { die('Could not connect: ' . mysql_error()); } // Create database /*if (mysql_query("CREATE DATABASE my_db",$con)) { echo "Database created"; } else { echo "Error creating database: " . mysql_error(); } */ // Create table in my_db database $dbname="DB2"; mysql_select_db($dbname,$con); $sql = "CREATE TABLE py_convert ( `py_id` int(10) NOT NULL auto_increment, `py_short_name` varchar(10), `py_name` varchar(10), `py_symbol` varchar(16), PRIMARY KEY (`py_id`) )"; mysql_query($sql,$con); mysql_close($con); ?--></count($arr_str);$i++){>
因为涉及的为汉字名称,所以采用的编辑环境为UTF-8。其中排列组合函数是借鉴的别人的,自己也想了半天效果不好,关键是数据逻辑思维不清楚,可见数据思维的重要性。
自己也是边学边做,php函数的调用不是很熟练,以后要加强编程方面练习。有写得不好的地方,欢迎各位大神指正,互相交流,共同进步!
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
Repo : 팀원을 부활시키는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전ByDDD
R.E.P.O. 파일 저장 위치 : 어디에 있고 그것을 보호하는 방법은 무엇입니까?
3 몇 주 전ByDDD

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구
