$fullName, 'gender' => $gender, 'culture' => 'arabic' ]; } /** * 生成加纳风格姓名 */ public static function generateGhanaianName(): array { $gender = (rand(0, 1) === 0) ? 'male' : 'female'; if ($gender === 'male') { $firstName = self::$ghanaianMaleNames[array_rand(self::$ghanaianMaleNames)]; } else { $firstName = self::$ghanaianFemaleNames[array_rand(self::$ghanaianFemaleNames)]; } $lastName = self::$ghanaianSurnames[array_rand(self::$ghanaianSurnames)]; $fullName = "{$firstName} {$lastName}"; return [ 'name' => $fullName, 'gender' => $gender, 'culture' => 'ghanaian' ]; } /** * 生成欧盟风格姓名 */ public static function generateEuropeanName(): array { $gender = (rand(0, 1) === 0) ? 'male' : 'female'; if ($gender === 'male') { $firstName = self::$europeanMaleNames[array_rand(self::$europeanMaleNames)]; } else { $firstName = self::$europeanFemaleNames[array_rand(self::$europeanFemaleNames)]; } $lastName = self::$europeanSurnames[array_rand(self::$europeanSurnames)]; $fullName = "{$firstName} {$lastName}"; return [ 'name' => $fullName, 'gender' => $gender, 'culture' => 'european' ]; } /** * 随机生成姓名(阿拉伯、加纳或欧盟风格) */ public static function generateRandomName(): array { $cultures = ['arabic', 'ghanaian', 'european']; $randomCulture = $cultures[array_rand($cultures)]; switch ($randomCulture) { case 'arabic': return self::generateArabicName(); case 'ghanaian': return self::generateGhanaianName(); case 'european': return self::generateEuropeanName(); default: return self::generateEuropeanName(); } } /** * 从hs_comment_avatar随机获取头像 */ public static function generateAvatar(): string { $avatar = CommentAvatarModel::query()->inRandomOrder()->value('avatar'); return $avatar ?: ''; } /** * 批量生成用户数据 * * @param int $count 生成数量 * @param string|null $culture 指定文化 (可选: 'arabic', 'ghanaian', 'european') * @return array 包含姓名和头像URL的用户数组 */ public static function generateUsers(int $count = 1, ?string $culture = null): array { $users = []; for ($i = 0; $i < $count; $i++) { if ($culture === 'arabic') { $userInfo = self::generateArabicName(); } elseif ($culture === 'ghanaian') { $userInfo = self::generateGhanaianName(); } elseif ($culture === 'european') { $userInfo = self::generateEuropeanName(); } else { $userInfo = self::generateRandomName(); } $userInfo['avatar'] = self::generateAvatar(); $users[] = $userInfo; } return $users; } } // ===================== 使用示例 ===================== /*// 示例1:生成5个随机用户(阿拉伯、加纳或欧盟风格) $randomUsers = ForeignUserGenerator::generateUsers(5); echo "随机生成的5个用户:\n"; print_r($randomUsers); // 示例2:生成3个阿拉伯风格用户 $arabicUsers = ForeignUserGenerator::generateUsers(3, 'arabic'); echo "\n阿拉伯风格用户:\n"; print_r($arabicUsers); // 示例3:生成3个加纳风格用户 $ghanaianUsers = ForeignUserGenerator::generateUsers(3, 'ghanaian'); echo "\n加纳风格用户:\n"; print_r($ghanaianUsers); // 示例4:生成3个欧盟风格用户 $europeanUsers = ForeignUserGenerator::generateUsers(3, 'european'); echo "\n欧盟风格用户:\n"; print_r($europeanUsers); // 示例5:生成单个用户并获取详细信息 $singleUser = ForeignUserGenerator::generateRandomName(); $singleUser['avatar'] = ForeignUserGenerator::generateAvatar($singleUser); echo "\n单个用户详情:\n"; print_r($singleUser);*/