每个月生成 12 种随机颜色

generating 12 random color for each month

我有这个设置来设置 fusionchart 条形图的托盘颜色

"paletteColors": "#594a2d,#660057,#6e8cff,#3d0c4e,#9ce6ae,#009e78,#001f8f,#ff7852,#ebff26,#0073e6,#f05eff,#00decc",

我正在尝试为一年中的每个月生成 12 个随机颜色代码以放入设置...

或者使用上面的 12 种颜色代码,但让它在每个循环中都是随机的?

 #594a2d,#660057,#6e8cff,#3d0c4e,#9ce6ae,#009e78,#001f8f,#ff7852,#ebff26,#0073e6,#f05eff,#00decc

到目前为止我尝试了什么..这适用于随机颜色..但是如果我想使用预定义的颜色怎么办?

<?php $rand = dechex(rand(0x000000, 0xFFFFFF));?>

"paletteColors": "<?php echo('#' . $rand);

for ($d=0;$d<12;$d++)
{
echo(',#' . $rand);
}

 ?>",

shuffle 函数可以将数组的元素移动到随机位置。因此,您可以使用预定义颜色打乱数组并使用它的前十二个元素:

$colors = explode(',', '#594a2d,#660057,#6e8cff,#3d0c4e,#9ce6ae,#009e78,#001f8f,#ff7852,#ebff26,#0073e6,#f05eff,#00decc');

shuffle($colors);
for ($i = 0; $i < 12; $i++) {
    echo($colors[$i]);
}

使用函数 shuffle()

$arr = [1,2,3,4,5,6,7,8,9,10,11,12];
shuffle($arr);
print_r($arr);

结果是

Array ( [0] => 8 [1] => 2 [2] => 6 [3] => 10 [4] => 1 [5] => 9 [6] => 3 [7] => 5 [8] => 4 [9] => 12 [10] => 7 [11] => 11 )