这篇文章主要介绍了php实现姓名根据首字母排序的类与方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧。
php将名字按首字母进行排序,具体代码如下所示:
<?phppublicfunctiongetFirstChar($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>=-20319and$asc<=-20284)return"A";if($asc>=-20283and$asc<=-19776)return"B";if($asc>=-19775and$asc<=-19219)return"C";if($asc>=-19218and$asc<=-18711)return"D";if($asc>=-18710and$asc<=-18527)return"E";if($asc>=-18526and$asc<=-18240)return"F";if($asc>=-18239and$asc<=-17760)return"G";if($asc>=-17759and$asc<=-17248)return"H";if($asc>=-17247and$asc<=-17418)return"I";if($asc>=-17417and$asc<=-16475)return"J";if($asc>=-16474and$asc<=-16213)return"K";if($asc>=-16212and$asc<=-15641)return"L";if($asc>=-15640and$asc<=-15166)return"M";if($asc>=-15165and$asc<=-14923)return"N";if($asc>=-14922and$asc<=-14915)return"O";if($asc>=-14914and$asc<=-14631)return"P";if($asc>=-14630and$asc<=-14150)return"Q";if($asc>=-14149and$asc<=-14091)return"R";if($asc>=-14090and$asc<=-13319)return"S";if($asc>=-13318and$asc<=-12839)return"T";if($asc>=-12838and$asc<=-12557)return"W";if($asc>=-12556and$asc<=-11848)return"X";if($asc>=-11847and$asc<=-11056)return"Y";if($asc>=-11055and$asc<=-10247)return"Z";}elseif(ord($s)>=48andord($s)<=57){//数字开头switch(iconv_substr($s,0,1,'utf-8')){case1:return"Y";case2:return"E";case3:return"S";case4:return"S";case5:return"W";case6:return"L";case7:return"Q";case8:return"B";case9:return"J";case0:return"L";}}elseif(ord($s)>=65andord($s)<=90){//大写英文开头returnsubstr($s,0,1);}elseif(ord($s)>=97andord($s)<=122){//小写英文开头returnstrtoupper(substr($s,0,1));}else{returniconv_substr($s0,0,1,'utf-8');//中英混合的词语,不适合上面的各种情况,因此直接提取首个字符即可}}publicfunctionaddPeople(){$userName=array('张三','马大帅','李四','王五','小二','猫蛋','狗蛋','王花','三毛','小明','李刚','张飞');sort($userName);foreach($userNameas$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);}
页面显示
<foreachname="_list"item="vo"key="k"><p>{$k}</p><foreachname="vo"item="l"><spanclass="name">{$l}</span></foreach></foreach>
产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;
日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉;
本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;
部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入;
如若转载,请注明出处:https://www.chanpinyuan.cn/41125.html;