PHP基于自定义类随机生成姓名的方法示例
author:一佰互联 2019-04-25   click:178

本文实例讲述了PHP基于自定义类随机生成姓名的方法。分享给大家供大家参考,具体如下:

自定义类rndChinaName.class.php:

<?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()
  {
    return $this->arrXing [mt_rand(0,$this->numbXing)];
  }
  private function getMing()
  {
    return $this->arrMing [mt_rand(0,$this->numbMing)];
  }
  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;
  }
}
?>

index.php:

<?php
require("rndChinaName.class.php" );
$name=new rndChinaName();
echo $name->getName();
//输出:林艺菁
?>

PS:这里再为大家推荐一款功能更为强大的在线工具供大家参考使用:

在线随机生成个人信息数据工具:
http://tools.jb51.net/aideddesign/rnd_userinfo

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP常用遍历算法与技巧总结》

希望本文所述对大家PHP程序设计有所帮助。