public function Random::word in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Component/Utility/Random.php \Drupal\Component\Utility\Random::word()
Generate a string that looks like a word (letters only, alternating consonants and vowels).
Parameters
int $length: The desired word length.
Return value
string
File
- core/
lib/ Drupal/ Component/ Utility/ Random.php, line 146 - Contains \Drupal\Component\Utility\Random.
Class
- Random
- Defines a utility class for creating random data.
Namespace
Drupal\Component\UtilityCode
public function word($length) {
mt_srand((double) microtime() * 1000000);
$vowels = array(
"a",
"e",
"i",
"o",
"u",
);
$cons = array(
"b",
"c",
"d",
"g",
"h",
"j",
"k",
"l",
"m",
"n",
"p",
"r",
"s",
"t",
"u",
"v",
"w",
"tr",
"cr",
"br",
"fr",
"th",
"dr",
"ch",
"ph",
"wr",
"st",
"sp",
"sw",
"pr",
"sl",
"cl",
"sh",
);
$num_vowels = count($vowels);
$num_cons = count($cons);
$word = '';
while (strlen($word) < $length) {
$word .= $cons[mt_rand(0, $num_cons - 1)] . $vowels[mt_rand(0, $num_vowels - 1)];
}
return substr($word, 0, $length);
}