2013-07-13 3 views
0

나는 나이에 대한 내 문제의 해결책을 찾고 있었고 나는 그것을 발견하지 못했고 그래서 나는 스스로에게 질문하기 위해 stackoverflow 계정을 만들려고했다. PHP 무작위 텍스트 한 번

은 내가 지금까지 만든 것입니다 :

<? //Chooses a random number $num = Rand (1,2); 
switch ($num){ 
case 1: $retrieved_data = "test"; break; 
case 2: $retrieved_data = "test1"; break; 
} ?> 

그리고 이것은 내가 텍스트를 표시 할 장소입니다;

<form enctype="multipart/form-data" action="upload.php" method="POST"> 
<input name="<?php echo $retrieved_data; ?>" type="file" /> 
<input name="<?php echo $retrieved_data; ?>" type="file" /> 
<input type="submit" value="Upload" /></form> 

내 문제는 내가 무작위로이 장소 에 표시되는 "TEST1"와 "테스트"를 갖고 싶어하지만 난 그들 때마다 서로 다를 수 싶어요. 그래서 첫 번째 입력 유형이 "test"인 경우 두 번째 입력 유형을 'test1'로 지정하고 싶지만이 작업을 수행 할 수 없습니다.

누구든지 내가 잘못하고있는 것을 알고 있거나 가능?

답변

3

당신이 가능성의 수를 제한 한 경우, 그 배열을 int로 넣어 셔플 및 이동/팝 요소 :

$retrieved_data = array('test', 'test1'); 
shuffle($retrieved_data); 

$random1 = array_shift($retrieved_data); 
$random2 = array_shift($retrieved_data); 
+0

고마워,이 코드는 내가 고마워하는 코드 였어! –

0

단계 A - 1 또는 2를 선택합니다. 단계 B - 스위치 케이스를 통해이 번호를 실행하는 경우이 경우에는 수신 한 번호 만 사용하고 값을 할당합니다. number가 1 일 경우 스위치 케이스는 $ retrieved_data = "test"로 끝나고, 숫자가 2이면 스위치 케이스가 case 2로 넘어 가서 $ retrieved_data = "test 1"을 할당합니다 .. 단계 C = $ retrieved_data가 양식에 할당됩니다 하나의 값, "test"또는 "test1"을 갖습니다.

그것에서
+0

답장을 보내 주셔서 감사합니다.하지만 이미 첫 번째 대답에서 올바른 코드를 얻었습니다. –

0

그 사용 array_rand().

$aName = array('test1', 'test2', 'whatever'); 

function getRandom(array &$aName) 
{ 
    if (($key = array_rand($aName)) === NULL) { 
     throw new Exception('No more randomness!'); 
    } 

    $value = $aName[$key]; 
    unset($aName[$key]); 
    return $value; 
} 

따라서 배열의 고유 한 임의 항목이 필요하면 getRandom($aName)을 사용하면됩니다.

+0

답변 해 주셔서 감사합니다.하지만 이미 첫 번째 답변에서 올바른 코드를 얻었습니다. –

관련 문제