资讯专栏INFORMATION COLUMN

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

keke / 518人阅读

摘要:获取名字获取名字字随机个字只取姓只取名默认情况姓名调用类,随机生成名字引入文件博文的伪随机数与真随机数详解

随机生成国人的名字

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

}


调用类,随机生成名字:

getName(2);
 echo $name;

博文:
PHP的伪随机数与真随机数详解

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21770.html

相关文章

  • 【日常手记】之Laravel5.3

    摘要:个人网站最近刚写了一个手机在线播放的电影站使用日常手记更新使用的的查询作用域的本地作用域去自定义可复用的约束集合,方便链式调用什么是本地查询作用域本地作用域允许我们定义通用的约束集合以便在应用中复用。 关于作者 程序开发人员,不拘泥于语言与技术,目前主要从事PHP和前端开发,使用Laravel和VueJs,App端使用Apicloud混合式开发。合适和够用是最完美的追求。 个人网站:...

    kidsamong 评论0 收藏0
  • Java编程基础08——面向对象_构造方法&静态static

    摘要:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。概念方便在没有创建对象的情况下来进行调用方法变量。因为它的成员全部是静态的所以私有了构造方法获取随机数的方法返回带正号的值,该值大于等于 1.构造方法Constructor概述和格式(掌握) A:构造方法概述和作用 给对象的数据(属性)进行初始化 B:构造方法格式特点 a:方法名与类名相同(大小写也要与类名一致) b:...

    张巨伟 评论0 收藏0
  • 1、自定义类型的定义及使用 2、自定义类的内存图 3、ArrayList集合的基本功能 4、随机点名

    摘要:自定义类的概述自定义类的概述代码映射成现实事物的过程就是定义类的过程。自定义类的格式自定义类的格式使用类的形式对现实中的事物进行描述。 01引用数据类型_类 * A: 数据类型 * a: java中的数据类型分为:基本类型和引用类型 * B: 引用类型的分类 * a: Java为我们提供好的类,比如说:Scanner,Random等。 * b: 我们自己创建的类...

    only_do 评论0 收藏0
  • PHP设计模式(五)建造者模式(Builder)

    摘要:与工厂模式相比,建造者模式一般用来创建更为复杂的对象,因为对象的创建过程更为复杂,因此将对象的创建过程独立出来组成一个新的类导演类。 什么是建造者设计模式 建造者模式:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示的设计模式。 设计场景: 有一个用户的UserInfo类,创建这个类,需要创建用户的姓名,年龄,爱好等信息,才能获得用户具体的信息结果。如: 这是一个...

    KunMinX 评论0 收藏0
  • Java编程基础18——集合(Set集合)

    摘要:并把最终的随机数输出到控制台。方法,在集合中如何存储元素取决于方法的返回值返回,集合中只有一个元素。创建集合对象,传入比较器。 1_HashSet存储字符串并遍历 A:Set集合概述及特点 通过API查看即可 B:案例演示 HashSet存储字符串并遍历 import java.util.HashSet; public class Demo1_HashSet { p...

    SexySix 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<