我有这个设置来设置融合图条形图的托盘颜色
"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);
}
?>",
答案 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 )