PHP从列表中随机选择

PHP从列表中随机选择,php,random,sampling,Php,Random,Sampling,我目前正在使用随机选择颜色的PHP代码: <div onclick="location.href='<?php the_permalink() ?>';" style="cursor:pointer;background:#<?php echo rand(0, 9); ?><?php echo rand(0, 9); ?><?php echo rand(0, 9); ?><

我目前正在使用随机选择颜色的PHP代码:

<div onclick="location.href='<?php the_permalink() ?>';" 
    style="cursor:pointer;background:#<?php 
        echo rand(0, 9); ?><?php 
        echo rand(0, 9); ?><?php 
        echo rand(0, 9); ?><?php 
        echo rand(0, 9); ?><?php 
        echo rand(0, 9); ?><?php 
        echo rand(0, 9); ?>;" 
    class="post bg thickbox" 
    id="thickbox post-<?php the_ID(); ?>">

只需创建一个颜色数组,并使用rand(0,to)作为索引选择一个条目。

我会像大多数人建议的那样,在一个php文件中将颜色定义为数组:

<?php

function getRandomColor(){
    $a = array('#ff5500', '#000066', '#555555');
    $indice = rand(0, count($a)-1);
    return $a[$indice];
}
$colors = array("red", "blue", "#00ff00");
然后使用选择一个:

...background:<?= $colors[array_rand($colors, 1)] ?>;" class=...
…背景:;“类=。。。

他想要一个预定义颜色的列表,而不是一些完全随机的颜色。无论如何,这个解决方案非常脏。@0x90:我知道,我只是指出,一个
for
循环会使他的代码变为10次clearer@nico,您可以使用
printf(“%06X\n”,rand(0xFFFFFF))进行清理
@evily小丑:这不会给出相同的结果:)真的,我不是在提出解决方案,只是指出你通常不需要重复相同的指令6次,仅此而已。