Всем привет! В этом материале рассмотрим, что нового появилось для генерации случайных чисел в PHP 7.1 .

Что нового в PHP7.1: генерация случайных чисел.

Всем привет! В этом материале рассмотрим, что нового появилось для генерации случайных чисел в PHP 7.1.

Это обновление произошло невидимо для разработчиков, однако улучшило язык программирования PHP в области генерации случайных чисел.

Насколько известно, в PHP мы можем использовать функцию rand(min, max) для генерации случайных чисел:

echo rand(7, 17);

Если вы теперь будете обновлять страницу, то каждый раз будете получать новое случайное число.

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

В PHP 7.1 эта проблема была исправлена и была добавлена функция mt_rand():

echo mt_rand(7, 17);

Эта функция работает гораздо лучше, включая безопасность. Что также важно знать, это то, что, если вы используете функцию rand() в PHP 7.1, то она автоматически будет перезаписана на mt_rand(). Т.е. rand() теперь просто алиас для mt_rand().

Многие другие функции для получения случайных результатов были улучшены в PHP 7.1. Например, давайте рассмотрим, как мы можем получить случайное значение из массива:

$names = ['Ivan', 'Alexander', 'Vasiliy'];
echo $names[array_rand($names)];

Т.е. любые функции, такие, как эта, были улучшены для получения более качественных случайных чисел в PHP 7.1. Да, это обновление прошло незаметно, но, на каком бы вы языке не писали, очень важно понимать, что происходит внутри какой-нибудь функции и как она себя ведет.

А на этом сегодня все. Спасибо за внимание!