Как я могу сгенерировать случайную строку с точной длиной в PHP?

У меня есть команда для генерации случайной строки как:

$random = sprintf('%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535))

Но когда я проверяю это, иногда они возвращают строку длиной 10, 11 или 12. Любой может исправить эту команду, чтобы она всегда возвращала ровно строку длиной 12 (не 10 или 11 и т. Д.). Из-за моего проекта я могу использовать только эту команду, поэтому, пожалуйста, помогите мне исправить ее без использования нового решения. Спасибо всем и извините за мой плохой английский.

1 ответ

Попробуй это.

$random = sprintf('%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
$random = str_pad($random, 12, '0', STR_PAD_LEFT);
echo $random;

Это будет дополнять переменную $random 0, пока она не будет иметь длину 12.

Другие вопросы по тегам