2011-01-11 10 views
0

다른 문자와 함께 포함될 임의의 숫자 사용. 그런 다음 난수를 제거하고 다른 문자를 남기고 싶습니다. 나는 무작위 수 (8 문자 길이)를 일관되게 생성하는이 코드를 가지고있다. 새로 고침 버튼을 여러 번 누르면 "임의 번호"와 "ID"가 아직 남아 있어도 "ID"필드가 사라집니다. substr 함수에서 새로 고침 할 때 임의의 숫자에 무슨 일이 일어나는지 확실하지 않습니다. 이 코드입니다 : 나는 문제가
$ResHeadID = preg_replace('/[\s]+/',' ',$ResHeadID);substr 문제로 임의 번호 제거

귀하의 임의의 숫자는 숫자로 시작 수있는 줄 생각

// Begin Create Random ID Code ///////////////////////////////////////// 

function gRanStr1() { 
    $length1 = 8; 
    $characters = “abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”; 

    for ($p = 0; $p < $length1; $p++) { 
     $lcrs1 .= $characters[mt_rand(0, strlen($characters)-1)]; 
    } 

    $lcrs9 = str_replace(' ', '', $lcrs9); 

    return $lcrs1; 

} 

// End Create Random ID Code ///////////////////////////////////////// 

// Begin Decode Random ID Code ///////////////////////////////////////// 

$TrkR99 = "c"; 

$ResHeadID = gRanStr1() . $TrkR99; 

$ResHeadID = preg_replace('/[\s]+/',' ',$ResHeadID); 

echo "”; 
echo $ResHeadID . ” = echo of Random Number plus ID“; 

for($i=0; $i<strlen($ResHeadID); $i++){ 
    if(!is_numeric(substr($ResHeadID, $i, 1))){ 
     $Index1 = $i; 
     break; 
    } 
} 

if ($ResHeadID == "") { 
    ""; 
} else { 
    $ResHeadID = preg_replace('/[\s]+/',' ',$ResHeadID); 
    $TrkRa1 = substr($ResHeadID, $Index1 + 8, 1); 
} 

$dTrkRes = $TrkRa1; 

echo $TrkRa1 . " = echo of ID after random number stripped.“; 

echo “”; 

// End Decode Random ID Code ///////////////////////////////////////// 
+1

일부 구문 오류가 있습니다. 메모장 + +와 같은 구문 강조 편집기를 사용하는 것이 좋습니다. 또한 스마트 쿼트를 사용하지 마십시오. – Jonah

+0

죄송하지만, 귀하의 코드는 정말 큰 혼란입니다. 변수 이름의 목적은 프로그래머의 직업을 보호하는 것처럼 보입니다. 몇몇 줄은 쓸모가 없습니다 ('$ lcrs9 = str_replace ('', '', $ lcrs9); # for는 $ lcrs9!) 또는'echo ""; # 똑똑한 따옴표가 있습니다! '또는'if ($ ResHeadID == ""{ "";/* WTF? * /}'질문을 올릴 때마다 뭔가를 제공해주세요. ** 읽을 수 있습니다. ** –

답변

0

. 이 경우 preg replace는 일부 오프셋을 가지며 ID를 제거합니다.

임의의 문자열의 길이는 고정되어 있으므로 else 절에서 $TrkRa1 = substr($ResHeadID, 8);을 사용하는 것이 좋습니다.

+0

대단히 고마워요. 코드를 정리하면 문제가 완벽하게 해결됩니다. 다시 감사합니다. – Jim

+0

도와 주시면 기꺼이 도와 드리겠습니다. 해결 된 답변/허용 된 답변 : –

관련 문제