每个月产生12种随机颜色

时间:2017-07-26 08:29:39

标签: php fusioncharts

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

"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);
}

 ?>",

2 个答案:

答案 0 :(得分:3)

shuffle函数可将数组元素移动到随机位置。因此,您可以使用预定义颜色对数组进行洗牌,并使用它的前12个元素:

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

答案 1 :(得分:3)

使用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 )
相关问题