Ниже приведены несколько методов генерации случайного целого числа из 10 цифр в PHP, а также примеры кода:
Метод 1: использование функции rand()
$randomNumber = rand(1000000000, 9999999999);
echo $randomNumber;
Метод 2: использование функции mt_rand()
$randomNumber = mt_rand(1000000000, 9999999999);
echo $randomNumber;
Метод 3: использование функции random_int() (PHP 7+)
$randomNumber = random_int(1000000000, 9999999999);
echo $randomNumber;
Метод 4: использование функции random_bytes() (PHP 7+)
$randomNumber = bin2hex(random_bytes(5)) . rand(10000, 99999);
echo $randomNumber;
Метод 5: использование расширения OpenSSL (PHP 7+)
$randomNumber = openssl_random_pseudo_bytes(5) . rand(10000, 99999);
$randomNumber = bin2hex($randomNumber);
echo $randomNumber;
Метод 6: использование random_int() с расширением bcmath (для больших чисел)
$min = bcpow('10', '9');
$max = bcsub(bcpow('10', '10'), '1');
$randomNumber = random_int($min, $max);
echo $randomNumber;
Метод 7. Использование библиотеки random_compat (для PHP 5+)
require 'random_compat-2.0.18/lib/random.php';
$randomNumber = random_int(1000000000, 9999999999);
echo $randomNumber;
Метод 8: использование UUID версии 4 (универсальный уникальный идентификатор)
$uuid = sprintf('%04x%04x%04x%04x%04x%04x%04x%04x',
random_int(0, 0xffff), random_int(0, 0xffff), random_int(0, 0xffff),
random_int(0, 0x0fff) | 0x4000,
random_int(0, 0x3fff) | 0x8000,
random_int(0, 0xffff), random_int(0, 0xffff), random_int(0, 0xffff)
);
$randomNumber = substr($uuid, 0, 10);
echo $randomNumber;