zoukankan      html  css  js  c++  java
  • PHP随机中国人姓名的类

    老规矩,直接上代码:

    <?php
    
    /*rndChinaName.class.php*/
    Class RandChinaName
    {
        private $arrXing,$numbXing;
        private $arrMing,$numbMing;
    
        function __construct()
        {
            $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;
        }
    
    }

    如何使用:

     $obj= new RandChinaName();
     $name =  $obj->getName();

    运行结果:

  • 相关阅读:
    写作 —— 细节与画面感
    写作 —— 细节与画面感
    诸子经典 —— 《管子》
    诸子经典 —— 《管子》
    金庸小说的模式
    金庸小说的模式
    SQLite中如何用api操作BLOB类型的字段
    Android WebView挂马漏洞--各大厂商纷纷落马
    [置顶] android开发之来电自动拒接并自动回复短信_上课模式app
    步步为营Hibernate全攻略(四)剪不断理还乱之:复合主键 && 组合映射
  • 原文地址:https://www.cnblogs.com/wenhainan/p/14119035.html
Copyright © 2011-2022 走看看