srand()
Функция srand() в PHP использовалась для инициализации генератора псевдослучайных чисел. Важно: Эта функция была помечена как устаревшая в PHP 7.1 и полностью удалена в PHP 8.0. Данное руководство объясняет её устаревшее поведение и показывает, как достичь тех же результатов с помощью современных версий PHP.
Что такое функция srand()?
Функция srand() была встроенной функцией PHP, которая инициализировала генератор псевдослучайных чисел с помощью конкретного начального значения (seed). Она принимала необязательный параметр $seed типа целое число и возвращала void. При указании seed генератор выдает предсказуемую последовательность чисел, что полезно для тестирования или воспроизводимых симуляций.
Как использовать функцию srand() (устаревший PHP < 7.1)
Использование srand() в более старых версиях PHP было простым. Вот как это работало:
⚠️ Уведомление об устаревании: Этот пример предназначен для устаревших сред PHP (версий до 7.1). Запуск этого кода в PHP 7.1+ приведет к фатальной ошибке.
Пример для устаревшего PHP
<?php
// Seed the random number generator using the srand() function
srand(123);
// Generate a random number using the rand() function
$result = rand();
// Output the result
echo $result;
?>В этом примере srand(123) инициализирует генератор. Последующие вызовы rand() будут выдавать абсолютно ту же последовательность чисел при каждом запуске скрипта с этим seed.
Современные альтернативы в PHP
Поскольку srand() и rand() удалены в PHP 8.0, вместо них следует использовать следующие современные функции:
random_int(): Рекомендуется для большинства случаев использования. Генерирует криптографически стойкие случайные целые числа и не требует ручной инициализации seed.mt_rand(): Работает быстрее, чемrandom_int(), но не является криптографически стойкой. Начиная с PHP 7.1 алгоритм Mersenne Twister инициализируется автоматически, поэтому ручная установка seed требуется редко.
Современный пример
<?php
// Generate a cryptographically secure random integer between 1 and 100
$result = random_int(1, 100);
echo $result;
?>Заключение
Функция srand() — это устаревший инструмент, который был удален из современных версий PHP. Для текущих проектов используйте random_int() для безопасных случайных чисел или mt_rand() для общих задач генерации случайных значений. Данное руководство поможет вам мигрировать устаревший код и понять современный подход к генерации случайных чисел в PHP.
Практика
Какой функцией является srand() в PHP?