This article mainly introduces the classes and methods of php to sort names according to the first letter. The code is simple and easy to understand, very good, and has certain reference value. Friends who need it can refer to it
php will The names are sorted by first letter, and the specific codes are as follows:
<?php public function getFirstChar($s){ $s0 = mb_substr($s,0,3); //获取名字的姓 $s = iconv('UTF-8','gb2312', $s0); //将UTF-8转换成GB2312编码 //dump($s0); if (ord($s0)>128) { //汉字开头,汉字没有以U、V开头的 $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<=-17760)return "G"; if($asc>=-17759 and $asc<=-17248)return "H"; if($asc>=-17247 and $asc<=-17418)return "I"; 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"; }else if(ord($s)>=48 and ord($s)<=57){ //数字开头 switch(iconv_substr($s,0,1,'utf-8')){ case 1:return "Y"; case 2:return "E"; case 3:return "S"; case 4:return "S"; case 5:return "W"; case 6:return "L"; case 7:return "Q"; case 8:return "B"; case 9:return "J"; case 0:return "L"; } }else if(ord($s)>=65 and ord($s)<=90){ //大写英文开头 return substr($s,0,1); }else if(ord($s)>=97 and ord($s)<=122){ //小写英文开头 return strtoupper(substr($s,0,1)); } else { return iconv_substr($s0,0,1,'utf-8'); //中英混合的词语,不适合上面的各种情况,因此直接提取首个字符即可 } } public function addPeople() { $userName = array('张三','马大帅','李四','王五','小二','猫蛋','狗蛋','王花','三毛','小明','李刚','张飞'); sort($userName); foreach($userName as $name){ $char = $this->getFirstChar($name); $nameArray = array(); if(count($charArray[$char])!=0){ $nameArray = $charArray[$char]; } array_push($nameArray,$name); $charArray[$char] = $nameArray; } ksort($charArray); $this->assign('_list',$charArray); }
The page displays
<foreach name="_list" item="vo" key="k"> <p>{$k}</p> <foreach name="vo" item="l"> <span class="name">{$l}</span> </foreach> </foreach>
Summary
The above is the PHP class and method that the editor introduced to you to implement the name sorting according to the first letter. I hope it will be useful to everyone. It's helpful. If you have any questions, please leave me a message and I will reply to you in time. I would also like to thank you all for your support of the php Chinese website!
PHP implementation of multiple image upload and single image upload functions php examples
PHP Mobile SMS Verification Code Implementation Process Detailed PHP Example
php determines 0 and empty php instances through various functions
The above is the detailed content of PHP implements the classes and methods (example code) whose names are sorted according to the first letter (example code) PHP example. For more information, please follow other related articles on the PHP Chinese website!