6 자리 숫자를 생성하고 싶습니다. 이제는이 작업이 훌륭하지만 가끔 4 자리 숫자가 생성됩니다. 자주는 아니지만 때로는 그렇습니다. 왜??rand (000000, 999999)는 때때로 4 자리 숫자를 생성합니다.
$num = rand(000000, 999999);
6 자리 숫자를 생성하고 싶습니다. 이제는이 작업이 훌륭하지만 가끔 4 자리 숫자가 생성됩니다. 자주는 아니지만 때로는 그렇습니다. 왜??rand (000000, 999999)는 때때로 4 자리 숫자를 생성합니다.
$num = rand(000000, 999999);
$num = rand(100000, 999999);
어쩌면이 일을 :) 일은
하하 그것은 항상 간단한 오류입니다 ... –
rand(000000, 999999)
그것은 90 % 0과 999999 사이의 숫자를 반환합니다 rand(0, 999999)
동일 수있는 모든 경우은 100000에서 999999까지이고 은 6 자리 숫자입니다. 이 시간이 가장 당신을 위해 작동하는 이유는
그러나 10 %에서 모든 경우의는 수는 100,000보다 작아집니다 만 1과 99999 사이 1 5 자리를 (모든 숫자를 포함 .. 1 ~ 2 자리가 여전히 덜 propable 한 다음 4 또는 5 자리 숫자입니다 알아 내기)
귀하의 문제를 해결하려면 rand(100000, 999999)
에서 번호를 가져야하지만 0으로 시작하는 숫자는 포함되지 않습니다. ! 첫 번째 숫자는 항상 1이 될 것이며, 9
다른 답변은 이미 또 다른 쉬운 그냥 것 9. 0에서 6 개 자리를 얻기를위한 좋은 솔루션을 보여
for($i = 0; i < 6; i++)
$rand_digit[$i] = rand(0,9);
생성하려는 경우 000000
에서 999999
까지의 숫자와 6 자리 패딩을 사용하면 str_pad
기능을 사용할 수 있습니다. 다른 사람들이 말했듯이
$rand = rand(0, 999999);
echo str_pad($rand, 6, '0', STR_PAD_LEFT);
, 당신은 $num = rand(100000, 999999);
에 $num = rand(000000, 999999);
을 바꿀 수 있지만, 값 100000 아래 예있는 6 개 자리를 가지고 수 있지만, 필요한 경우가있을 수 있습니다. 001103. 당신은 여전히 $num = rand(000000, 999999);
을 사용할 수 있지만 당신은 같은 것을 사용하는 것이 :이 번호를 변경하지 않을
$num = rand(000000, 999999);
$print_num = sprintf("%06d", $num);
를, 그것은 단지 그것에게 6 자리 형식을 제공 할 것입니다.
네 자리 숫자가 0보다 커야합니다. –
은 100000이 아님 000000 –
와우, PHP는 000000을 유효한 숫자로 허용합니까? 그건 꽤 틀린 것 같습니다. 편집 : 방금 Qalculate 테스트! (계산기) 0000을받습니다. 이 수학적으로 올바른지 또는 sanitisation 입력입니까? – SpliFF