Случайные числа
srand
Производит инициализацию генератора случайных чисел.
Синтаксис :
void srand(int seed)
Инициализирует генератор случайных чисел занчением seed.
srand((double) microtime()*1000000);$random = rand();echo $random;
Вот что получиться:
5645
getrandmax
Возвращает максимально возможное случайное число.
Синтаксис :
int getrandmax()
Эта функция возвращает максимальное значение, которое можно получить при помощи функции генерации случайных чисел rand().
Обычно это 32767
rand
Производит генерацию случайного числа.
Синтаксис :
int rand([int max [, int min]])
При вызове с необязательными параметрами min и max эта функция генерирует случайное число, лежащее в пределах этих параметров включительно.
Если параметры min и max отсутствуют, возвращается число, лежащее в пределах от 0 до RAND_MAX.
Для корректной работы данной функции перед ее использованием нужно проинициализировать генератор случайных чисел функцией srand().
mt_rand
Функция возвращает MT-случайное число, достаточно равномерно даже для того, чтобы использовать его в криптографии.
Синтаксис :
int mt_rand(int $min=0, int $max=RAND_MAX)
Если вы хотите генерировать числа не от 0 до RAND_MAX (эта константа задает максимально допустимое случайное число, и ее можно получить при помощи вызова mt_getrandmax()), задайте соответствующий интервал в параметрах $min
и $max. Не забудьте только перед первым вызовом этой функции запустить mt_srand().
mt_srand(time()+(double)microtime()*1000000);$x = mt_rand(1,100); // $x - значение от 1 до 100
mt_srand
Настраивает MT-генератор случайных чисел на новую последовательность.
Синтаксис :
void mt_srand(int seed)
Дело в том, что хотя числа, генерируемые mt_rand(), достаточно равновероятны, но у них есть один нелостаток: последовательность сгенерированных чисел будет одинакова если сценарий вызывать несколько раз подряд. Функция mt_srand()
как раз решает данную проблему: она выбирает новую последовательность на основе параметра $seed, причем практически непредсказуемым образом.
mt_srand(time()+(double)microtime()*1000000);for($i=0;$i<=10;$i++) { $x = mt_rand(1,10);};
В этом случае последовательность устанавливается на основе времени завуска сценария (в секундах), поэтому она достаточно непредсказуема. Для еще более надежного результата рекомендуется приплюсовать сюда еще микросекунды (что и было сделано), а также идентификатор процесса, вызывавшего сценарий.
mt_getrandmax
Возвращает максимальное MT-случайное число.
Синтаксис :
int mt_getrandmax()
Возвращает максимальное число, которое может быть сгенерированно функцией mt_rand() - иными словами, константу RAND_MAX
$max = mt_getrandmax();// $max = 2147483647
lcg_value
функция генерирует случайное дробное число.
Синтаксис :
double lcg_value()
Эта функция возвращает псевдослучайное дробное число в диапазоне от 0 до 1.
Перевод в различные системы счисления
base_convert
Конвертация числа из одной системы счисления в другую.
Синтаксис :
string base_convert(string $number, int $frombase, int $tobase)
Переводит число $number (заданное как строка в системе счисления по основанию $frombase) в систему по основанию $tobase. Параметры $frombase
и $tobase могут принимать значения только от 2 до 36 включительно. В строке $number цифры обозначают сами себя, а буква a
соответствует 11, b -12, и т.д. до z, которая обозначает 36. Например, следующие команды выведут 11111111 (8 единичек), потому что это - не что иное, как представление шестнадцатиричного числа FF в двоичной системе счисления:
$x = base_convert("FF",16,2); //$x = 11111111$x = base_convert("11111111",2,16); //$x = FF$x = base_convert("200",10,16); //$x = C8
bindec
Производит конвертацию двоичного числа в десятичное.
Синтаксис :
int bindec(string binary_string)
Преобразует двоичное число, заданное в строке binary_string, в десятичное число. Максимальное число, которое еще может быть преобразовано, равно 2 147 483 647
$x = bindec(11111111); // $x = 255$x = bindec(10101010); // $x = 170$x = bindec(2147483647); // $x = 1111111111111111111111111111111
decbin
Производит конвертацию десятичного числа в двоичное.
Синтаксис :
string decbin(int $number)
Возвращает строку, представляющую собой двоичное представление целого числа $number. Максимальное число, которое еще может быть преобразовано, равно 2 147 483 647, которое выглядит как 31 единичка в двоичной системе.
Существует аналогичные функции для восьмеричной и шестнадцатиричной систем. Называются они так же, только вместо "bin" подставляются соответственно "oct" и "hex".
$x = decbin(255); // $x = 11111111$x = decbin(2147483647); // $x = 1111111111111111111111111111111
dechex
Производит конвертацию десятичного числа в шестнадцатеричное.
Синтаксис :
string dechex(int number)
Возвращает строку, представляющую собой шестнадцатеричное представление целого числа number. Максимальное число, которое еще может быть преобразовано, равно 2 147 483 647
$x = dechex(2147483647); // $x = 7fffffff
decoct
Производит конвертацию десятичного числа в восьмеричное.
Синтаксис :
string decoct(int number)
Возвращает строку, представляющую собой восьмеричное представление целого числа number. Максимальное число, которое еще может быть преобразовано, равно 2 147 483 647
$x = dechex(2147483647); // $x = 17777777777
hexdec
Производит конвертацию шестнадцатеричного числа в десятичное.
Синтаксис :
int hexdec(string hex_string)
Преобразует шестнадцатеричное число, заданное в строке hex_string, в десятичное число. Максимальное число, которое еще может быть преобразовано, равно 7fffffff
$x = hexdec(7fffffff); // $x = 2147483647
octdec
Производит конвертацию восьмеричного числа в десятичное.
Синтаксис :
int octdec(string octal_string)
Преобразует восьмеричное число, заданное в строке octal_string, в десятичное число. Максимальное число, которое еще может быть преобразовано, равно 17777777777
$x = octdec(17777777777); // $x = 2147483647
deg2rad
Производит конвертацию градусов в радианы.
Синтаксис :
double deg2rad(double number)
Преобразует градусы, заданные в параметре number, в радианы.
rad2deg
Производит конвертацию радианов в градусы.
Синтаксис :
double rad2deg(double number)
Преобразует радианы, заданные в параметре number, в градусы.
number_format
Форматирование числа.
Синтаксис :
number_format($number, $decimals, $dec_point=".", $thousands_sep=",");
Эта функция форматирует число с плавающей точкой с разделением его на триады с указанной точностью. Она может быть вызвана с двумя или четырьмя аргументами, но не с тремя! Параметр $decimals задает, сколько цифр после запятой должно быть у числа в выходной строке. Параметр $dec_point представляет собой разделитель целой и дробной частей, а параметр $thousands_sep - разделитель триад в числе (если указать на его месте пустую строку, то триады не отделяются друг от друга).