2017-07-26 102 views
1

我有这样的设置,安装托架颜色fusionchart条形图产生12个随机颜色每月

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

?>", 

回答

3

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

非常感谢你这是它 – gtroop

3

使用功能洗牌()

$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)