php - 数组,随机播放和条件

时间:2014-07-21 00:03:44

标签: php

我创建了一个测验,使用shuffle()函数生成随机答案。 一切都在使用阵列和随机播放。

接下来我要做的就是答案的产生。 (丰田就是一个例子。)

  

“丰田”

描述会说:

  “丰田是一辆很棒的汽车,在这座城市生产,耗油量很大。”

我的代码:

<?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.";
}

?>

提前致谢。赞赏。

3 个答案:

答案 0 :(得分:4)

随机播放的结果是$answer[0];

所以,如果你不需要这个$answer[1];$answer[2]; ....等

就像$answer[0];

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

答案 1 :(得分:3)

您可以以关联方式使用数组:

 $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]];

答案 2 :(得分: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]];
}