当前位置:首页 > 技术 > PHP > 正文内容

php 随机生成姓名

watrt3个月前 (07-08)PHP770
<?php
/**
* @param integer $sex 1 男 2 女 0 不限
* @param string $x 固定姓
* @param boolen $fx 是否加入复姓 true 是 false 否
* @return array ['x' => '姓', 'm' => '名', 'xm' => '姓名']
*/
function generate_name($sex = 0, $x = null, $fx = true)
{
// 单姓
$xing_d = ['赵','钱','孙','李','周','吴','郑','王','冯','陈','褚','卫','蒋','沈','韩','杨','朱','秦','尤','许','何','吕','施','张','孔','曹','严','华','金','魏','陶','姜','戚','谢','邹','喻','柏','水','窦','章','云','苏','潘','葛','奚','范','彭','郎','鲁','韦','昌','马','苗','凤','花','方','任','袁','柳','鲍','史','唐','费','薛','雷','贺','倪','汤','滕','殷','罗','毕','郝','安','常','傅','卞','齐','元','顾','孟','平','黄','穆','萧','尹','姚','邵','湛','汪','祁','毛','狄','米','伏','成','戴','谈','宋','茅','庞','熊','纪','舒','屈','项','祝','董','梁','杜','阮','蓝','闵','季','贾','路','娄','江','童','颜','郭','梅','盛','林','钟','徐','邱','骆','高','夏','蔡','田','樊','胡','凌','霍','虞','万','支','柯','管','卢','莫','柯','房','裘','缪','解','应','宗','丁','宣','邓','单','杭','洪','包','诸','左','石','崔','吉','龚','程','嵇','邢','裴','陆','荣','翁','荀','于','惠','甄','曲','封','储','仲','伊','宁','仇','甘','武','符','刘','景','詹','龙','叶','幸','司','黎','溥','印','怀','蒲','邰','从','索','赖','卓','屠','池','乔','胥','闻','莘','党','翟','谭','贡','劳','逄','姬','申','扶','堵','冉','宰','雍','桑','寿','通','燕','浦','尚','农','温','别','庄','晏','柴','瞿','阎','连','习','容','向','古','易','廖','庾','终','步','都','耿','满','弘','匡','国','文','寇','广','禄','阙','东','欧','利','师','巩','聂','关','荆'];

// 复姓
$xing_f = ['司马','上官','欧阳','夏侯','诸葛','闻人','东方','赫连','皇甫','尉迟','公羊','澹台','公冶','宗政','濮阳','淳于','单于','太叔','申屠','公孙','仲孙','轩辕','令狐','徐离','宇文','长孙','慕容','司徒','司空'];

// 男性名
$ming_m = ['伟','刚','勇','毅','俊','峰','强','军','平','保','东','文','辉','力','明','永','健','世','广','志','义','兴','良','海','山','仁','波','宁','贵','福','生','龙','元','全','国','胜','学','祥','才','发','武','新','利','清','飞','彬','富','顺','信','子','杰','涛','昌','成','康','星','光','天','达','安','岩','中','茂','进','林','有','坚','和','彪','博','诚','先','敬','震','振','壮','会','思','群','豪','心','邦','承','乐','绍','功','松','善','厚','庆','磊','民','友','裕','河','哲','江','超','浩','亮','政','谦','亨','奇','固','之','轮','翰','朗','伯','宏','言','若','鸣','朋','斌','梁','栋','维','启','克','伦','翔','旭','鹏','泽','晨','辰','士','以','建','家','致','树','炎','德','行','时','泰','盛','雄','琛','钧','冠','策','腾','楠','榕','风','航','弘'];

// 女性名
$ming_f = ['秀','娟','英','华','慧','巧','美','娜','静','淑','惠','珠','翠','雅','芝','玉','萍','红','娥','玲','芬','芳','燕','彩','春','菊','兰','凤','洁','梅','琳','素','云','莲','真','环','雪','荣','爱','妹','霞','香','月','莺','媛','艳','瑞','凡','佳','嘉','琼','勤','珍','贞','莉','桂','娣','叶','璧','璐','娅','琦','晶','妍','茜','秋','珊','莎','锦','黛','青','倩','婷','姣','婉','娴','瑾','颖','露','瑶','怡','婵','雁','蓓','纨','仪','荷','丹','蓉','眉','君','琴','蕊','薇','菁','梦','岚','苑','婕','馨','瑗','琰','韵','融','园','艺','咏','卿','聪','澜','纯','毓','悦','昭','冰','爽','琬','茗','羽','希','欣','飘','育','滢','馥','筠','柔','竹','霭','凝','晓','欢','霄','枫','芸','菲','寒','伊','亚','宜','可','姬','舒','影','荔','枝','丽','阳','妮','宝','贝','初','程','梵','罡','恒','鸿','桦','骅','剑','娇','纪','宽','苛','灵','玛','媚','琪','晴','容','睿','烁','堂','唯','威','韦','雯','苇','萱','阅','彦','宇','雨','洋','忠','宗','曼','紫','逸','贤','蝶','菡','绿','蓝','儿','翠','烟'];

// 获取姓
if (!$x) {
$xing = $fx ? array_merge($xing_d, $xing_f) : $xing_d;
$x = $xing[mt_rand(0, count($xing)-1)];
}

// 获取名
switch ($sex) {
case 1: $ming = $ming_m; break;
case 2: $ming = $ming_f; break;
default: $ming = array_merge($ming_m, $ming_f); break;
}

// 单字名
$m = $ming[mt_rand(0, count($ming) - 1)];

// 双字名
mt_rand(0, 1) && $m .= $ming[mt_rand(0, count($ming) - 1)];

return ['x' => $x, 'm' => $m, 'xm' => $x . $m];
}


for ($i=0; $i <20 ; $i++) {
echo generate_name()['xm']." ";
}


分享给朋友:

相关文章

PHP MVC划分规则

PHP MVC划分规则

     今天看了看以前的代码,发现control胖,而model轻,专门去找相关资料学习下     原则:胖model,瘦controller,只要是与业务有关的,就该放在Model里面一、controller 控制器,里应该放哪些东西    1.用户请求相关,如$_POST,$_GET,不应该对数据做任何处理    2.和model连接  &n...

使用php提取方法注释

使用php提取方法注释

1.注释格式<?php     /**      * @method 发送邮件      * @url    email/send?token=xxx      * @http  POST &n...

PHP正则表达式使用详解

PHP正则表达式使用详解

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。    可以通过在一对分隔符之间放入表达式模式的各种组件来构造一个正则表达式,即/expression/    普通字符    由所有那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母字符,所有数字,所有标点符号以及一些符号。 ...

密钥用法 增强密钥用法 证书类型

密钥用法 增强密钥用法 证书类型

密钥用法:数字签名 Digital Signature认可签名 Non Repudiation密钥加密 key Encipherment数据加密 Data Encipherment密钥协商 key Agreement证书签名 Key CertSignCRL 签名 Crl Sign仅仅加密 Encipher Only仅仅解密 Decipher OnlyOpenSSL密钥用法:数字签名 digitalSignature认可签名 nonRepudiation密钥加密 keyEncipherment数据...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。