php 随机生成姓名
<?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\']."\n";
}