Обучение/Помощь новичкам | Переделать функцию
Тема закрыта by
SNEG
Причина: Говна какого-то изобрёл в очередной раз :)
Причина: Говна какого-то изобрёл в очередной раз :)
Есть функция рандомной строки, как сделать вместо того чтобы все символы указывать а подключать типа шаблоны str_rand('a-z0-9', 40);
php
$strRand = str_rand('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 40);
DELETED
3 сентября 2023, в 18:24
Delete
Есть функция рандомной строки,
php
$strRand = str_rand('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 40);
DELETED (3 сен 2023, в 18:24)
Просто занеси все символы в переменную и используй.
Так не хочу, можно просто взять пойти wp или dle , всё просто зачем учится чему-то
Просто занеси все символы в переменную и используй.
________
посл. ред. 03.09.2023 в 18:35; всего 2 раз(а); by SNEG
Хотя у меня есть какие-то мысли с array_merge
Такое вроде не предусмотрено в php
Такое вроде не предусмотрено в php
Или как дебилы если нету тогда не должно быть, это как не шифруйте sha1 бо не безопасно что не безопасно, слово qwerty им шифровать ? )))
________
посл. ред. 03.09.2023 в 18:45; всего 2 раз(а); by SNEG
За 5 минут такой вариант написал
php
function random_string(string $rules, int $length = 10) { $symbols = ''; if (str_contains($rules, 'a-z')) { foreach (range('a','z') as $letter) { $symbols .= $letter; } } if (str_contains($rules, '0-9')) { foreach (range(0,9) as $numeric) { $symbols .= $numeric; } } $charactersLength = strlen($symbols); $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $symbols[random_int(0, $charactersLength - 1)]; } return $randomString; } echo random_string('a-z0-9', 20);
Еще вариант
php
function random_string(string $rules, int $length = 10) { $symbols = ''; preg_match_all('~((.){1}-(.){1})~', $rules, $matches); if (isset($matches[1])) { foreach ($matches[1] as $match) { list($start, $end) = explode('-', $match); foreach (range($start, $end) as $symbol) { $symbols .= $symbol; } } } $charactersLength = strlen($symbols); $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $symbols[random_int(0, $charactersLength - 1)]; } return $randomString; } echo random_string('a-z0-9', 20);
в пхп 8 появился