Rincewind pasvieda ideju... uztaisīju Savu implentāciju.
public function populate_users($count, $is_unique = false) {
$names = array(
'James', 'John', 'Robert', 'Michael', 'William', 'David',
'Richard', 'Charles', 'Joseph', 'Thomas', 'Christopher',
'Daniel', 'Paul', 'Mark', 'Donald', 'George', 'Kenneth',
'Steven', 'Edward', 'Brian', 'Ronald', 'Anthony', 'Kevin',
'Jason', 'Matthew', 'Gary', 'Timothy', 'Jose', 'Larry',
'Jeffrey', 'Frank', 'Scott', 'Eric', 'Stephen', 'Andrew',
'Raymond', 'Gregory', 'Joshua', 'Jerry', 'Dennis', 'Walter',
'Patrick', 'Peter', 'Harold', 'Douglas', 'Henry', 'Carl',
'Arthur', 'Ryan', 'Roger'
);
$surnames = array(
'Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis',
'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas',
'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia',
'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee',
'Walker'
);
if ($is_unique === false) {
for ($i = 0; $i < $count; ++$i) {
$people[] = $names[mt_rand(0, count($names) - 1)] . ' ' . $surnames[mt_rand(0, count($surnames) - 1)];
}
} else {
if (count($names) * count($surnames) < $count ) {
throw new Exception('Can\'t generete so many unique results! Try to set \'$is_unique\' to false.');
}
for ($i = 0; $i < count($names); ++$i) {
for ($j = 0; $j < count($surnames); ++$j) {
$people[] = $names[$i] . ' ' . $surnames[$j];
}
}
shuffle($people);
$people = array_slice($people, -$count);
}
return $people;
}
Tiek ģenerēti pilnie vārdi. Vārdi un uzvārdi ir plaši sastopami Amerikā... tā kā var pat uzģenerēt kādu!
Izmantošana:
$people = populate_users(10, true);
$output = '';
foreach ($people as $key => $person) {
$output .= $person . '<br />';
}