Сгенерировать случайную строку
1-ый способ: случайная строка
В PHP 8.3 появился метод Randomizer::getBytesFromString(), который позволяет генерировать случайную строку из указанных символов.
$availableChars = 'abcdefghijklmnopqrstuvwxyz0123456789@1#$%^&*';
$randomizer = new \Random\Randomizer();
$randomizer->getBytesFromString($availableChars, 16); // g0o39%jaol6zgep#
$randomizer->getBytesFromString($availableChars, 16); // supn%1ajys7y$%9e
Данная функция может пригодиться, когда надо, например, сгенерировать случайный пароль для пользователя.
Если используется PHP ниже версии «8.3», то можно создать свою функцию:
function getRandomString($count) {
$availableChars = 'abcdefghijklmnopqrstuvwxyz0123456789@1#$%^&*';
$charsLength = mb_strlen($availableChars);
$randomString = '';
for ($i = 0; $i < $count; $i++) {
$randomString .= $availableChars[random_int(0, $charsLength - 1)];
}
return $randomString;
}
getRandomString(16); // oalm*uy3#1@872hy
getRandomString(16); // hpq7pdfnjgfk1%q*
Два способа выше не поддерживают Юникод, т.е. не работает с русскими символами или со смайликами.
2-ой способ: уникальная строка
Сгенерировать уникальную строку (которая точно не будет повторяться при повторной генерации), можно через функцию uniqid().
echo uniqid(); // 69624cbce8e64
echo uniqid(); // 69624cc5732fd
Строка гененрируется на основе текущего времени, поэтому она всегда уникальна.
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта
