企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 用ThinkPHP6写一个,可以随机生成20万中文昵称、时间戳、IP地址、姓名、身份证号码、手机号的程序,并且可以写入数据库 创建一个控制器 ``` <?php namespace app\index\controller; use think\Controller; use think\Db; class RandomController extends Controller { public function index() { // 生成20万个随机数据 $data = []; for($i = 0; $i < 200000; $i++){ $data[] = [ 'nickname' => $this->generateNickname(), 'timestamp' => $this->generateTimestamp(), 'ip_address' => $this->generateIpAddress(), 'name' => $this->generateName(), 'id_number' => $this->generateIdNumber(), 'phone_number' => $this->generatePhoneNumber(), ]; } // 写入数据库 Db::name('random_data')->insertAll($data); return '生成成功'; } private function generateNickname() { // 生成一个3-10个汉字的昵称 $length = mt_rand(3, 10); $name = ''; for ($i = 0; $i < $length; $i++) { $name .= mb_chr(mt_rand(0x4E00, 0x9FA5)); } return $name; } private function generateTimestamp() { // 生成一个随机的时间戳 $timestamp = mt_rand(0, time()); return date('Y-m-d H:i:s', $timestamp); } private function generateIpAddress() { // 生成一个随机的IPv4地址 $ip = []; for($i = 0; $i < 4; $i++) { $ip[] = mt_rand(0, 255); } return implode('.', $ip); } private function generateName() { // 生成一个随机的中文姓名 $surname = [ '赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '楮', '卫', '蒋', '沈', '韩', '杨', '朱', '秦', '尤', '许', '何', '吕', '施', '张', '孔', '曹', '严', '华', '金', '魏', '陶', '姜', '戚', '谢', '邹', '喻', '柏', '水', '窦', '章', '云', '苏', '潘', '葛', '奚', '范', '彭', '郎', '鲁', '韦', '昌', '马', '苗', '钟', '骆', '戴', '贾', '田', '堵', '储', '卢', '杜', '胡', '南宫', '欧阳', '夏侯', '诸葛', '皇甫', '司马', '公孙', '慕容', '长孙', '司徒', '轩辕', '令狐', '宇文', '司空', '鲜于', '闾丘', '东方', '子车', '呼延', '赫连', '司寇', '浦', '尚', '农', '温', '别', '庄', '晏', '柴', '瞿', '阎', '充', '慕', '连', '茹', '习', '宦', '艾', '鱼', '容', '向', '古', '易', '慎', '戈', '廖', '庾', '终', '暨', '居', '衡', '步', '都', '耿', '满', '弘', '匡', '文', '国', '寇', '广', '禄', '阙', '东', '欧', '殳', '沃', '利', '蔚', '越', '夔', '隆', '师', '巩', '厍', '聂', '晁', '勾', '敖', '融', '冷', '訾', '辛', '阚', '那', '简', '饶', '空', '曾', '毋', '沙', '乜', '养', '鞠', '须', '丰', '巢', '关', '蒯', '相', '查', '后', '荆', '红', '游', '竺', '权', '逯', '盖', '益', '桓', '公', '万', '俟', '司空']; $name = $surname[mt_rand(0, count($surname) - 1)]; $length = mt_rand(1, 2); for($i = 0; $i < $length; $i++) { $name .= mb_chr(mt_rand(0x4E00, 0x9FA5)); } return $name; } private function generateIdNumber() { // 生成一个随机的身份证号码 $region = ['1101', '1201', '1301', '1401', '1501']; $year = mt_rand(1970, 2000); $month = str_pad(mt_rand(1, 12), 2, '0', STR_PAD_LEFT); $day = str_pad(mt_rand(1, 28), 2, '0', STR_PAD_LEFT); $suffix = str_pad(mt_rand(1, 9999), 4, '0', STR_PAD_LEFT); $id_number = $region[mt_rand(0, count($region) - 1)] . $year . $month . $day . $suffix; return $id_number; } private function generatePhoneNumber() { // 生成一个随机的手机号码 $prefix = ['130', '131', '132', '133', '134', '135', '136', '137', '138', '139', '150', '151', '152', '153', '154', '155', '156', '157', '158', '159', '170', '176', '177', '178', '180', '181', '182', '183', '184', '185', '186', '187', '188', '189']; $number = $prefix[mt_rand(0, count($prefix) - 1)] . str_pad(mt_rand(0, 99999999), 8, '0', STR_PAD_LEFT); return $number; } } ``` 在数据库中创建一个名为random\_data的表: ``` CREATE TABLE `random_data` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `nickname` varchar(20) NOT NULL DEFAULT '' COMMENT '昵称', `timestamp` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '时间戳', `ip_address` varchar(15) NOT NULL DEFAULT '' COMMENT 'IP地址', `name` varchar(10) NOT NULL DEFAULT '' COMMENT '姓名', `id_number` varchar(18) NOT NULL DEFAULT '' COMMENT '身份证号码', `phone_number` varchar(11) NOT NULL DEFAULT '' COMMENT '手机号码', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='随机数据表'; ```