public Random::name($length = 8, $unique = FALSE)
Generates a random string containing letters and numbers.
The string will always start with a letter. The letters may be upper or lower case. This method is better for restricted inputs that do not accept certain characters. For example, when testing input fields that require machine readable values (i.e. without spaces and non-standard characters) this method is best.
int $length: Length of random string to generate.
bool $unique: (optional) If TRUE ensures that the random string returned is unique. Defaults to FALSE.
string Randomly generated string.
\Drupal\Component\Utility\Random::string()
public function name($length = 8, $unique = FALSE) { $values = array_merge(range(65, 90), range(97, 122), range(48, 57)); $max = count($values) - 1; $counter = 0; do { if ($counter == static::MAXIMUM_TRIES) { throw new \RuntimeException('Unable to generate a unique random name'); } $str = chr(mt_rand(97, 122)); for ($i = 1; $i < $length; $i++) { $str .= chr($values[mt_rand(0, $max)]); } $counter++; } while ($unique && isset($this->names[$str])); if ($unique) { $this->names[$str] = TRUE; } return $str; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Component!Utility!Random.php/function/Random::name/8.1.x