我如何随机键入循环?

时间:2017-05-26 10:52:56

标签: php html

我的代码是这样的:

<?php
    $colors = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
    $i = 0;
    foreach ($colors as $color) {
?>
        <div class="<?php echo $i==0 ? 'active' : '' ?>">
            <?php echo $color.'-'.$i; ?>
        </div>
<?php   
        $i++;   
    }
?>

当执行上面的代码时,第一个类将激活

我想让它是随机的

因此,执行时,任何类都可以激活

例如,当我跑步时,第一个div上的课程将处于活动状态 当我再次运行时,第三个div上的类是活动的。 所以它是随机的

我该怎么做?

5 个答案:

答案 0 :(得分:1)

只需使用rand(0,count($colors)-1),它就会在您的限制之间提供一个数字

    <?php
    $colors = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
    $i = 0;
    $rand =rand(0,count($colors)-1);
    foreach ($colors as $color) {
    ?>
        <div class="<?=($i== $rand)? 'active' : '' ?>">
            <?php echo $color.'-'.$i; ?>
        </div>
   <?php   
        $i++;   
    }
?>

答案 1 :(得分:1)

试试这个:

<?php
$colors      = ["a" => "red", "b" => "green", "c" => "blue", "d" => "yellow"];
$i           = 0;
$activeIndex = array_rand($colors);
foreach ($colors as $key => $color) {
    echo "<div class=\"" . (($key == $activeIndex) ? 'active' : '') . "\">$color-$i</div>";
    $i++;
}
?>

它使用php的array_rand()函数来获取数组的键以选择为活动状态。

答案 2 :(得分:0)

使用rand()函数。

$random = rand(0,5)

这将返回0到5之间的随机int。有关更多信息,请访问google rand()php

答案 3 :(得分:0)

要么使用

array_rand($colors, 1) 

或您使用

mt_rand(0, count($colors));

有关详细信息,请参阅手册:http://php.net/manual/en/function.array-rand.php&amp; http://php.net/mt_rand

答案 4 :(得分:0)

以下代码将返回随机值。

$colors = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$colors = array_rand($colors, 1);
echo $colors;