2014-06-13 7 views
-1

저는 PHP 배열을 처음 사용합니다. 솔루션을 찾을 수 없습니다. 배열에서 변수 선택

내 코드입니다 :

$animals = Array 
      (
      1=>$duck, 
      2=>$horse, 
      3=>$rabbit 
      ); 

      ForEach($animals As $animal) 
      { 
       echo $animals[Array_Rand($animals)]; 
      } 

그리고 지금은 $ 토끼 인 배열로부터 적절한 변수를 선택합니다. 같은

뭔가 :

if($animal[3]){ 
       echo 'The rabbit just spawned'; 
      } 

내가 어떻게 변수 3 번 (토끼)를 참조 말해주십시오 명령 경우 사용. 나는 생각하지 않는다

+1

if ($ animal [3]) {'이 조건은 무엇입니까? 방금 선택한 임의의 요소가 토끼인지 확인하려고합니까? 또는 다른 것? –

+0

'echo Array_Rand ($ animals) == 3? '토끼가 방금 생겼어.' '-'이렇게? – potashin

+0

예, captcha를 만듭니다. 그들은 토끼를 선택해야합니다. 나는 숫자 - ccaptcha를 좋아하지 않는다. – bary88

답변

3

당신이 각 루프를 필요, 그냥 무작위 배열에서 선택할 수 있습니다 :

https://eval.in/162384

$animals = Array 
      (
      1=>'duck', 
      2=>'horse', 
      3=>'rabbit' 
      ); 
$dieroll=array_rand($animals); 
echo "The $animals[$dieroll] just spawned."; 

결과 :

오리 단지 산란했다.

편집 : 배열에서 3을 선택하고 싶다고 언급했습니다. 그런 다음 array_rand($x,3)를 사용할 수 있습니다

https://eval.in/162392

$animals = Array 
      (
      1=>'duck', 
      2=>'horse', 
      3=>'rabbit', 
      4=>'bear', 
      5=>'moose' 
      ); 
$dierolls=array_rand($animals,3); 
// randomize the order of the dierolls: 
shuffle($dierolls); 
foreach($dierolls as $dieroll) { 
    echo "Look out, it's a $animals[$dieroll]!\n"; 
}; 

가 제공합니다 :

밖을 봐, 그것은 오리입니다!

보세요, 토끼예요!

보세요, 곰이에요!

+0

그것은 멋지다. 그러나 유일한 오리가 산란한다. 나는 동시에 3 마리의 동물을 산란해야하고, 오리가 있다면 '오리가 산란했다'고 말합니다. – bary88

+0

이것을 좀 더 확장 가능하게 만들려면'$ dieroll = rand (1,3);을'$ dieroll = array_rand ($ animals);로 바꿀 수 있습니다. 배열이 바뀌면 무작위 키도 바뀔 수 있습니다. – Sean

+0

감사합니다. 그러나 하나뿐 아니라 3 개의 몬스터가 있어야합니다. – bary88