頭文字(漢字、数字、英語)のPHP一括取得
$mysql_server_name='127.0.0.1' //独自の mysql データベース サーバーに変更します
$mysql_username='user' //独自の mysql データベースのユーザー名に変更します
$mysql_password='password' //独自の mysql データベースのパスワードに変更します
$mysql_database='database' //独自の mysql データベース名に変更します
mysql_connect('127.0.0.1', $mysql_username,$mysql_password) または die('データベースにアクセスできません');
mysql_select_db($mysql_database);
mysql_query("SET NAMES 'utf8'");
$equery2 = " テーブル 1 からタイトルを選択 ";
$result2=mysql_query($equery2);
while ($row = mysql_fetch_array($result2, MYSQL_BOTH))
{
$title=$row["タイトル"];
if (ord($title)>128) { //漢字から始める
echo $letter=getfirstchar($title);
}else if(ord($title)>=48 and ord($title)<=57){ //数字から始めます
echo $letter=iconv_substr($title,0,1,'utf-8');
}else if(ord($title)>=65 and ord($title)<=90){ //大文字の英語から始めます
echo $letter=iconv_substr($title,0,1,'utf-8');
}else if(ord($title)>=97 and ord($title)<=122){ //英語の小文字から始めます
echo $letter=iconv_substr($title,0,1,'utf-8');
}
}
関数 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";
false を返す;
}