Loading...
Обучение/Помощь новичкам | Переделать функцию
Есть функция рандомной строки,
php
$strRand = str_rand('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 40);

как сделать вместо того чтобы все символы указывать а подключать типа шаблоны
str_rand('a-z0-9', 40);
SNEG (3 сен 2023, в 17:40)
Есть функция рандомной строки,
php
$strRand = str_rand('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 40);

как сделать вместо того чтобы все символы указывать а подключать типа шаблоны
str_rand('a-z0-9', 40);
Просто занеси все символы в переменную и используй.
DELETED (3 сен 2023, в 18:24)
Просто занеси все символы в переменную и используй.
Так не хочу, можно просто взять пойти wp или dle , всё просто зачем учится чему-то
________
посл. ред. 03.09.2023 в 18:35; всего 2 раз(а); by SNEG
Хотя у меня есть какие-то мысли с array_merge
Такое вроде не предусмотрено в php
invoker (3 сен 2023, в 18:37)
Такое вроде не предусмотрено в 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);
invoker , str_contains а я про это не знал вообще
SNEG (3 сен 2023, в 19:14)
invoker , str_contains а я про это не знал вообще
в пхп 8 появился
Онлайн: 3
Время:
Gen. 0.1184
(c) Bym.Guru 2010-2025