文档章节

PHP随机生成中国人姓名的类

zhiqiangw
 zhiqiangw
发布于 2017/09/04 22:25
字数 909
阅读 36
收藏 0

PHP随机生成类

<?php
    /*rndChinaName.class.php*/
Class rndChinaName
{
    private $arrXing,$numbXing;
    private $arrMing,$numbMing;
    function rndChinaName()
    {
        $this->getXingList();
        $this->getMingList();
    }
    /* 获取姓列表 */
    private function getXingList()
    {
        $this->arrXing=array(
            '赵','钱','孙','李','周','吴','郑','王','冯','陈','褚','卫','蒋',
            '沈','韩','杨','朱','秦','尤','许','何','吕','施','张','孔','曹','严','华','金','魏',
            '陶','姜','戚','谢','邹','喻','柏','水','窦','章','云','苏','潘','葛','奚','范','彭',
            '郎','鲁','韦','昌','马','苗','凤','花','方','任','袁','柳','鲍','史','唐','费','薛',
            '雷','贺','倪','汤','滕','殷','罗','毕','郝','安','常','傅','卞','齐','元','顾','孟',
            '平','黄','穆','萧','尹','姚','邵','湛','汪','祁','毛','狄','米','伏','成','戴','谈',
            '宋','茅','庞','熊','纪','舒','屈','项','祝','董','梁','杜','阮','蓝','闵','季','贾',
            '路','娄','江','童','颜','郭','梅','盛','林','钟','徐','邱','骆','高','夏','蔡','田',
            '樊','胡','凌','霍','虞','万','支','柯','管','卢','莫','柯','房','裘','缪','解','应',
            '宗','丁','宣','邓','单','杭','洪','包','诸','左','石','崔','吉','龚','程','嵇','邢',
            '裴','陆','荣','翁','荀','于','惠','甄','曲','封','储','仲','伊','宁','仇','甘','武',
            '符','刘','景','詹','龙','叶','幸','司','黎','溥','印','怀','蒲','邰','从','索','赖',
            '卓','屠','池','乔','胥','闻','莘','党','翟','谭','贡','劳','逄','姬','申','扶','堵',
            '冉','宰','雍','桑','寿','通','燕','浦','尚','农','温','别','庄','晏','柴','瞿','阎',
            '连','习','容','向','古','易','廖','庾','终','步','都','耿','满','弘','匡','国','文',
            '寇','广','禄','阙','东','欧','利','师','巩','聂','关','荆','司马','上官','欧阳','夏侯',
            '诸葛','闻人','东方','赫连','皇甫','尉迟','公羊','澹台','公冶','宗政','濮阳','淳于','单于',
            '太叔','申屠','公孙','仲孙','轩辕','令狐','徐离','宇文','长孙','慕容','司徒','司空');
        $this->numbXing = count($this->arrXing); //姓总数
    }
    /* 获取名列表 */
    private function getMingList()
    {
        $this->arrMing=array(
            '伟','刚','勇','毅','俊','峰','强','军','平','保','东','文','辉','力','明','永','健','世','广','志','义',
            '兴','良','海','山','仁','波','宁','贵','福','生','龙','元','全','国','胜','学','祥','才','发','武','新',
            '利','清','飞','彬','富','顺','信','子','杰','涛','昌','成','康','星','光','天','达','安','岩','中','茂',
            '进','林','有','坚','和','彪','博','诚','先','敬','震','振','壮','会','思','群','豪','心','邦','承','乐',
            '绍','功','松','善','厚','庆','磊','民','友','裕','河','哲','江','超','浩','亮','政','谦','亨','奇','固',
            '之','轮','翰','朗','伯','宏','言','若','鸣','朋','斌','梁','栋','维','启','克','伦','翔','旭','鹏','泽',
            '晨','辰','士','以','建','家','致','树','炎','德','行','时','泰','盛','雄','琛','钧','冠','策','腾','楠',
            '榕','风','航','弘','秀','娟','英','华','慧','巧','美','娜','静','淑','惠','珠','翠','雅','芝','玉','萍',
            '红','娥','玲','芬','芳','燕','彩','春','菊','兰','凤','洁','梅','琳','素','云','莲','真','环','雪','荣',
            '爱','妹','霞','香','月','莺','媛','艳','瑞','凡','佳','嘉','琼','勤','珍','贞','莉','桂','娣','叶','璧',
            '璐','娅','琦','晶','妍','茜','秋','珊','莎','锦','黛','青','倩','婷','姣','婉','娴','瑾','颖','露','瑶',
            '怡','婵','雁','蓓','纨','仪','荷','丹','蓉','眉','君','琴','蕊','薇','菁','梦','岚','苑','婕','馨','瑗',
            '琰','韵','融','园','艺','咏','卿','聪','澜','纯','毓','悦','昭','冰','爽','琬','茗','羽','希','欣','飘',
            '育','滢','馥','筠','柔','竹','霭','凝','晓','欢','霄','枫','芸','菲','寒','伊','亚','宜','可','姬','舒',
            '影','荔','枝','丽','阳','妮','宝','贝','初','程','梵','罡','恒','鸿','桦','骅','剑','娇','纪','宽','苛',
            '灵','玛','媚','琪','晴','容','睿','烁','堂','唯','威','韦','雯','苇','萱','阅','彦','宇','雨','洋','忠',
            '宗','曼','紫','逸','贤','蝶','菡','绿','蓝','儿','翠','烟','小','轩');
        //名总数 
        $this->numbMing = count($this->arrMing); 
    }
    // 获取姓
    private function getXing()
    {
      // mt_rand() 比rand()方法快四倍,而且生成的随机数比rand()生成的伪随机数无规律。
    return $this->arrXing[mt_rand(0,$this->numbXing-1)]; 
    
    }
    // 获取名字
    private function getMing()
    {
      return $this->arrMing[mt_rand(0,$this->numbMing-1)]; 
    }
    // 获取名字
    public function getName($type=0)
    {
        $name = '' ;
        switch($type)
        {
            case 1:    //2字
                $name = $this->getXing().$this->getMing();
                break;
            case 2:    //随机2、3个字
                $name = $this->getXing().$this->getMing();
                if(mt_rand(0,100)>50)$name .= $this->getMing();
                break;
            case 3: //只取姓
                $name = $this->getXing();
                break;
            case 4: //只取名
                $name = $this->getMing();
                break;
            case 0:
            default: //默认情况 1姓+2名
                $name = $this->getXing().$this->getMing().$this->getMing();
    
    
        }
    
        return $name;
    }
}

 

使用方法:

<?php
// index.php
header('Content-type: text/html; charset=utf-8');
 // 引入文件
 require('rndChinaName.class.php');
 $name_obj = new rndChinaName(); 
 $name = $name_obj->getName(2);
 echo $name;

 

© 著作权归作者所有

zhiqiangw
粉丝 12
博文 193
码字总数 142771
作品 0
郑州
程序员
私信 提问
如何生成比较像样的假数据

问题 在做项目的时候经常会遇到这样的问题: 根据数据模型建立了数据库,但是数据库中却没有数据,在给客户做Demo的时候必须要一条一条的添加假数据,而且这些假数据还得像模像样的,不能乱输...

浣熊干面包
2012/01/24
0
0
我国人名拼音拼写将有国家标准:姓在前名在后

此类信息可能牵扯软件系统开发规则,在处理用户姓名拼音的时候必须符合国家标准,因此发布之。规矩如下,姓名:孙悟空,拼音写法:Sun Wukong。 北京日报讯(记者刘昊) 中国人的姓名用汉语拼音...

鉴客
2010/11/27
7K
57
如何在各种编程语言中生成安全的随机数

生成安全的随机数据指什么?为什么要生成安全的随机数据?之前一些文献中这并没有很好得说明如何生成“安全”的随机数。所以,这里将介绍如何在下面的编程语言中安全地生成随机数。 C/C++ 需...

广岛秋泽
2016/06/07
0
0
数据漂白介绍

需求定义: 近期中国银监会出台了《商业银行信息科技风险管理指引》要求“商业银行在信息系统开发、测试和维护,以及服务外包过程中加强对客户信息的保护,防止敏感信息的泄漏。”为保护客户权益...

founder
2011/03/02
905
1
使用JSDoc自动生成代码文档

译者按: 代码要有规范的注释,遵从jsDoc规则来注释可以生成有用的文档。 原文: Generate docs and host it with JSDoc and GitHub Pages 译者: Fundebug 为了保证可读性,本文采用意译而非直...

Fundebug
2017/10/19
68
0

没有更多内容

加载失败,请刷新页面

加载更多

Android面试常客之Handler全解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/fnhfire_7030/article/details/79518819 前言:又到了一年...

shzwork
21分钟前
4
0
position sticky 定位

本文转载于:专业的前端网站➫position sticky 定位 1、兼容性 https://caniuse.com/#search=sticky chrome、ios和firefox兼容性良好。 2、使用场景 sticky:粘性。粘性布局。 在屏幕范围内时...

前端老手
28分钟前
4
0
CentOS 7 yum 安装 PHP7.3 教程

参考:https://www.mf8.biz/centos-rhel-install-php7-3/ 1、首先安装 EPEL 源: yum install epel-release 安装 REMI 源: yum install http://rpms.remirepo.net/enterprise/remi-release......

dragon_tech
43分钟前
4
0
Linux物理网卡聚合及桥接

Linux内部实现的bridge可以把一台机器上的多张网卡桥接起来,从而把自己作为一台交换机。同时,LInux bridge还支持虚拟端口,即桥接的不一定都是物理网卡接口,还可以是虚拟接口。目前主要表...

xiangyunyan
43分钟前
4
0
一起来学Java8(一)——函数式编程

在这篇文章中,我们将了解到在Java8下如何进行函数式编程。 函数式编程 所谓的函数式编程就是把函数名字当做值进行传递,然后接收方拿到这个函数名进行调用。 首先来看下JavaScript如何进行函...

猿敲月下码
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部