2012-07-09 4 views
-1

Hie guys 저는 처음에는 고정 문자 B가 있고 임의의 문자로 끝나는 8 개의 정수가있는 임의의 숫자 문자열을 만들고 싶습니다. 예 : B07224081A 여기서 A와 다른 숫자는 임의입니다. 이 문자열은 고유해야합니다. 어떻게해야합니까?PHP : 대문자로 접미사와 접미사가 모두 포함 된 임의의 문자열 생성

+3

이것은 cakephp와 관련된 질문이 아닙니다. 그냥 좋은 PHP. 매우 유사 : http://stackoverflow.com/questions/853813/how-to-create-a-random-string-using-php – jeremyharris

+0

정확히 .. 단지 구글이 어떻게 임의의 영숫자 문자열을 생성하고 스크립트를 수정 너의 목적! –

답변

3

다음과 같은 것이 있습니까?

$letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
$numbers = rand(10000000, 99999999); 
$prefix = "B"; 
$sufix = $letters[rand(0, 25)]; 

$string = $prefix . $numbers . $sufix; 
echo $string; // printed "B74099731P" in my case 

더 많은 문자 - 독특한 문자열을 생성 할 수있는 큰 기회.

나는 그것이 밀리 초를 기반으로하기 때문에 uniqid()을 사용하는 것이 훨씬 더 좋은 방법이라고 생각합니다. 생성 된 문자열의 고유성이 보장됩니다.

+2

실제로 독창성을 보장하려면 사용했던 문자열을 추적하고 사본이 생기면 다시 생성해야합니다. – chaos

+0

나는 둘 다 시도하고 그들은 잘 작동했다. 고맙습니다 – alicemap

0

이 방법이 유용 할 것입니다.

$randomString = "B"; 
    for ($i = 0; $i < 9; $i++) { 
    if ($i < 8) { 
     $randomString.=rand(0,9); 
    } 
    if ($i == 8) { 
     $randomString.=chr(rand(65,90)); 
    } 
    } 
    echo $randomString; 
관련 문제