Home > Article > Backend Development > Get initial letters (Chinese characters, numbers, English) in batches with php_PHP tutorial
PHP batch acquisition of initial letters (Chinese characters, numbers, English)
$mysql_server_name='127.0.0.1'; //Change to your own mysql database server
$mysql_username='user'; //Change to your own mysql database username
$mysql_password='password'; //Change to your own mysql database password
$mysql_database='database'; //Change to your own mysql database name
mysql_connect('127.0.0.1', $mysql_username,$mysql_password) or die('database not access');
mysql_select_db($mysql_database);
mysql_query("SET NAMES 'utf8'");
$equery2 = " select title from table 1 ";
$result2=mysql_query($equery2);
while ($row = mysql_fetch_array($result2, MYSQL_BOTH))
{
$title=$row["title"];
if (ord($title)>128) { //Start with Chinese characters
echo $letter=getfirstchar($title);
}else if(ord($title)>=48 and ord($title)<=57){ //Start with numbers
echo $letter=iconv_substr($title,0,1,'utf-8');
}else if(ord($title)>=65 and ord($title)<=90){ //Start with uppercase English
echo $letter=iconv_substr($title,0,1,'utf-8');
}else if(ord($title)>=97 and ord($title)<=122){ //Start with lowercase English
echo $letter=iconv_substr($title,0,1,'utf-8');
}
}
function getfirstchar($s0){
$s=iconv("UTF-8","gb2312", $s0);
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319 and $asc<=-20284)return "A";
if($asc>=-20283 and $asc<=-19776)return "B"; if($asc>=-19775 and $asc<=-19219)return "C";
if($asc>=-19218 and $asc<=-18711)return "D";
if($asc>=-18710 and $asc<=-18527)return "E";
if($asc>=-18526 and $asc<=-18240)return "F";
if($asc>=-18239 and $asc<=-17923)return "G";
if($asc>=-17922 and $asc<=-17418)return "H";
if($asc>=-17417 and $asc<=-16475)return "J";
if($asc>=-16474 and $asc<=-16213)return "K";
if($asc>=-16212 and $asc<=-15641)return "L";
if($asc>=-15640 and $asc<=-15166)return "M";
if($asc>=-15165 and $asc<=-14923)return "N";
if($asc>=-14922 and $asc<=-14915)return "O";
if($asc>=-14914 and $asc<=-14631)return "P";
if($asc>=-14630 and $asc<=-14150)return "Q";
if($asc>=-14149 and $asc<=-14091)return "R";
if($asc>=-14090 and $asc<=-13319)return "S";
if($asc>=-13318 and $asc<=-12839)return "T";
if($asc>=-12838 and $asc<=-12557)return "W";
if($asc>=-12556 and $asc<=-11848)return "X";
if($asc>=-11847 and $asc<=-11056)return "Y";
if($asc>=-11055 and $asc<=-10247)return "Z";
return false;
}