如何回应随机数组?

时间:2015-02-08 13:19:08

标签: php

我有以下代码,我无法弄清楚如何随机回显每个值..

<?php
    $c1 = array(
        0 => '#d24726',
        1 => '#bf3317'
    );

    $c2 = array(
        0 => '#14826d', 
        1 => '#0d6856'
    ); 

    $c3 = array(
        0 => '#624f87', 
        1 => '#534373'
    );

    $c4 = array(
        0 => '#008198', 
        1 => '#006e87'
    );

    $c5 = array(
        0 => '#08893e', 
        1 => '#067038'
    );

    $randArray = array($c1,$c2,$c3,$c4,$c5);

    echo '<pre>'; print_r($randArray); echo '</pre>';
?>

其中给出了以下输出..

Array
(
    [0] => Array
        (
            [0] => #d24726
            [1] => #bf3317
        )

    [1] => Array
        (
            [0] => #14826d
            [1] => #0d6856
        )

    [2] => Array
        (
            [0] => #624f87
            [1] => #534373
        )

    [3] => Array
        (
            [0] => #008198
            [1] => #006e87
        )

    [4] => Array
        (
            [0] => #08893e
            [1] => #067038
        )

)

我希望随机选择$ c1,$ c2,$ c3,$ c4或$ c5,然后才能使用它们的颜色值。

我尝试了rand_array但没有用..

$r = array_rand($randArray);

echo $r[][0];
echo $r[][1];

2 个答案:

答案 0 :(得分:1)

它的工作原理你必须像这样使用它:

array_rand()返回密钥,因此您只需将其用作数组的第一个维度作为密钥)

$r = array_rand($randArray);

echo $randArray[$r][0];
echo $randArray[$r][1];

有关array_rand()的详情,请参阅手册:http://php.net/manual/en/function.array-rand.php

从那里引用:

  

当只选择一个条目时,array_rand()返回随机条目的键

答案 1 :(得分:0)

您的代码是正确的,但您必须指定array_rand()返回的密钥。请使用以下代码

<?php
    $c1 = array(
        0 => '#d24726',
        1 => '#bf3317'
    );

    $c2 = array(
        0 => '#14826d', 
        1 => '#0d6856'
    ); 

    $c3 = array(
        0 => '#624f87', 
        1 => '#534373'
    );

    $c4 = array(
        0 => '#008198', 
        1 => '#006e87'
    );

    $c5 = array(
        0 => '#08893e', 
        1 => '#067038'
    );

    $randArray = array($c1,$c2,$c3,$c4,$c5);
$r = array_rand($randArray);


    echo '<pre>'; print_r($randArray[$r]); echo '</pre>';
?>

希望这有助于你