代码之家  ›  专栏  ›  技术社区  ›  gtroop

每月生成12种随机颜色

  •  1
  • gtroop  · 技术社区  · 7 年前

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

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

     #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 回复  |  直到 7 年前
        1
  •  3
  •   Tobias F.    7 年前

    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]);
    }
    
        2
  •  3
  •   mmmorgen    7 年前

    使用函数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 )