rand

(PHP 4, PHP 5, PHP 7)

randГенерирует случайное число

Описание

int rand ( void )
int rand ( int $min , int $max )

При вызове без параметров min и max, возвращает псевдослучайное целое в диапазоне от 0 до getrandmax(). Например, если вам нужно случайное число между 5 и 15 (включительно), вызовите rand(5, 15).

Замечание: На некоторых платформах (таких как Windows) getrandmax() всего лишь 32767. Чтобы расширить диапазон, используйте параметры min и max, или обратитесь к функции mt_rand().

Список параметров

min

Наименьшее значение, которое может быть возвращено (по умолчанию: 0)

max

Наибольшее значение, которое может быть возвращено (по умолчанию: getrandmax())

Возвращаемые значения

Псевдослучайное значение в диапазоне от min (или 0) до max (или getrandmax()).

Примеры

Пример #1 Пример использования rand()

<?php
echo rand() . "\n";
echo 
rand() . "\n";

echo 
rand(515);
?>

Результатом выполнения данного примера будет что-то подобное:

7771
22264
11

Примечания

Предостережение

Данная функция не генерирует криптографически безопасные значения и не должна использоваться в криптографических целях. Если вам требуется криптографически безопасное значение, подумайте об использовании функции openssl_random_pseudo_bytes() вместо данной.

Смотрите также

  • srand() - Изменяет начальное число генератора псевдослучайных чисел
  • getrandmax() - Возвращает максимально возможное случайное число
  • mt_rand() - Генерирует случайное значение методом mt
  • openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes

Коментарии

Don't forget, it's faster to use bitwise operations when you need a random number that's less than some power of two. For example,

<?php
rand
()&1;
// instead of
rand(0,1);
// for generating 0 or 1,

rand()&3;
// instead of
rand(0,3);
// for generating 0, 1, 2, or 3,

rand()&7;
// instead of
rand(0,7)
// for generating 0, 1, 2, 3, 4, 5, 6, or 7,
?>

and so on. All you're doing there is generating a default random number (so PHP doesn't have to parse any arguments) and chopping off the piece that's useful to you (using a bitwise operation which is faster than even basic math).
2005-01-21 04:23:39
http://php5.kiev.ua/manual/ru/function.rand.html
Автор:
Generate a random 5 character A-Z0-9  string

<?php
for ($i=0$i<6$i++) { 
   
$d=rand(1,30)%2
    echo 
$d chr(rand(65,90)) : chr(rand(48,57)); 
}
?>

# php -r 'for ($i=0; $i<6; $i++) { $d=rand(1,30)%2; echo $d ? chr(rand(65,90)) : chr(rand(48,57)); } echo "\n";'
14BW1A
2010-03-05 20:41:06
http://php5.kiev.ua/manual/ru/function.rand.html
Автор:
Note that the algorithm change in version 7.1.0 broke the repeatability of a random sequence initialized with a given value. For example if you have a program like:

<?php
srand
($argv[1]);
for (
$i 0$i 10$i++) {
    echo 
rand().PHP_EOL;
}
?>

It will will no longer produce the same results after version 7.1.0. This can be very important for some kinds of simulations. Hopefully you were using mt_rand() or something better all along, otherwise you will have some digging to do if you want your program to be able to repeat simulations from the pre-7.1.0 days... You will need to look in the PHP source archives to discover the algorithm they used to use and replicate it in your program.
2020-10-05 14:07:56
http://php5.kiev.ua/manual/ru/function.rand.html
Here is a simple base64 random string function

<?php
function random_string($length) {
   
$str random_bytes($length);
   
$str base64_encode($str);
   
$str str_replace(["+""/""="], ""$str);
   
$str substr($str0$length);
    return 
$str;
}

/*
Example outputs for random_string(32)

OP0vOJEsSvr6wbgN4jIwqMMstlpMSUsl
2IHaIxD2W4VTKZuzioudbpQCALdl6Ym6
QY0eZ3QYy3OKKN6ttzbDwAwsAfkXfQ2f
jznjlPCUDbYzOTJysPP414BbdVNu4jmT
GlktgJ8JUhdH5MfQ1PHl0wnqXQlKggQs
Pb9WALM3KcGCCPBKXsPgNfy3M0Xj4aEu
AED6OTVl8aBbspdxoXvA1sT4ein8lruH
9cSbz4FhoI4qSsPZFMh0u1rWDDEgQxI2
iSBlT4K7Ad516qPXgPReSj2tii7TAK5b
DuX8HByMb2e8IdM4j49Td2JTI9Ki7o1C
*/
?>
2023-03-17 15:49:22
http://php5.kiev.ua/manual/ru/function.rand.html

    Поддержать сайт на родительском проекте КГБ