• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > PHP实现姓名根据首字母排序的类与方法(实例代码)

PHP实现姓名根据首字母排序的类与方法(实例代码)

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了PHP排序,姓名首字母排序,PHP类与方法,PHP实例代码等相关知识,希望对您有所帮助

这篇文章主要介绍了php实现姓名根据首字母排序的类与方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧。

php将名字按首字母进行排序,具体代码如下所示:

<?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); }

页面显示

<foreach name="_list" item="vo" key="k">     <p>{$k}</p>     <foreach name="vo" item="l">         <span class="name">{$l}</span>     </foreach> </foreach>


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP实现姓名根据首字母排序的类与方法(实例代码)

相关文章

  • JavaScript实现UTF-8编解码
  • 浅谈CSS如何实现九宫格提示超出数量
  • 详细讲解Java运算符(总结分享)
  • ThinkPHP支持的四种URL模式:普通模式、PATHINFO、REWRITE和兼容模式
  • Photoshop制作燃烧效果的岩石字
  • DEDECMS给list标签加上多字段排序功能
  • 利用html实现进度条效果的方法
  • vue.js怎么实现验证码
  • WordPress主题RiPro美化-给特定分类添加VIP权限才可访问效果
  • Discuz_X3.4的数据库创建表SQL错误的解决方法

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 三种在php程序中嵌入html代码的方法
    • react中less不起作用怎么办
    • 总结分享一些基于jQuery的前端面试(含移动端常见问题)
    • CSS3如何实现图片木桶布局?(附代码)
    • 基于thinkphp6.x的API接口开发简单小实例
    • 怎么利用Node.js进行html页面跳转
    • 在SQL查询中GROUP BY的含义是什么?
    • PHP中如何读取CSV内容并存入一个数组中
    • 手把手教你基于uniapp框架实现动态路由、动态tabbar
    • DedeCMS安全设置 目录执行php脚本限制方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有