2014-07-21 2 views
0

shuffle() 함수를 사용하여 무작위 응답을 생성하는 퀴즈를 만들었습니다. 모든 것이 배열과 셔플로 작동합니다.php - 배열, 셔플 및 조건

내가하고 싶은 일은 대답이 생성 될 때입니다. (도요타는 예입니다.)

"도요타"

설명은 말할 것입니다 :

"도요타가이 도시에서 만들어 좋은 차, 좋은 가스 주행 거리를 가지고있다 . "

내 코드 :

<?php 

// Array of the vehicles 
$answer = array(
"Mercedes", 
"Benz", 
"Honda", 
"Toyota", 
"Nissan", 
"Mazda", 
"Hyundai", 
"Ford", 
"Lexus", 
"Lamborghini", 
"Ferrari", 
"Porche", 
"Mitsubushi", 
"Scion", 
"Chrysler", 
"Jeep", 
"Masarati" 
); 

// Shuffle Array 
shuffle($answer); 

// Echo ONE item only. 
echo $answer[0]; 

?> 

나는이 작업을 수행하는 조건을 사용할 필요가 생각 .

예 : 시도했지만 작동하지 않았습니다.

<?php 
// If array VALUE 0 is equal to Toyota after it's shuffled. 
if($answer[0]=='Toyota') 
{ 
    echo "Toyota is a great car! You should buy it."; 
} 
if($answer[1]=='Benz') 
{ 
    echo "Benz is a great car."; 
} 

?> 

미리 감사드립니다. 감사합니다.

if($answer[0]=='Toyota') 
{ 
    echo "Toyota is a great car! You should buy it."; 
} 
if($answer[0]=='Benz') 
{ 
    echo "Benz is a great car."; 
} 

답변

4

셔플의 결과는

단지 $answer[0];처럼 등 .... $answer[2];, 당신 너무이 $answer[0];

입니다 연관 배열을 사용하십시오 :

$comments = array(
    "Toyota" => 'Toyota is a great car! You should buy it.', 
    'Benz' => 'Benz is a great car.', 
    // etc. 
); 

isset($comments[$answer[0]]) && echo $comments[$answer[0]]; 
+0

감사를 너, 눈에 띄는 실수는 아니었다. 그것은 효과가 있었다. –

+0

@MartinShaba, 문제 없어요 :) – bumbumpaw

3

당신은 할 수있다 :이 $answer[1]; 필요하지 않은 경우

+0

더 나은면 그 방법을 전환 할 수 있습니다. –

3

당신이하고 싶은 컨디셔닝은 다소 번거롭고 불필요하게 될 것입니다. (이들 모두 if 블록). 과 같이 설명 보유하고 배열 설정하지 이유 :

$descriptions = array(
"Mercedes" => 'is like fast food', 
"Benz" => 'sometimes', 
"Honda" => 'just your descriptions', 
...... etc 

그리고 당신이 지금하고있는 것처럼 셔플,이 같은 배열의 설명을 잡아 않습니다

// Shuffle Array 
shuffle($answer); 

// Echo ONE item only. 
echo $answer[0]; 

if(isset($descriptions[$answer[0]])) { 
    echo $descriptions[$answer[0]]; 
} 
+0

감사합니다. 감사합니다. –

+0

@MartinShaba 완벽하게 괜찮습니다. 어떻게 진행되는지 알려주세요. – Darren