我正在做一个项目,在这个项目中,我需要生成未定义数量的随机、十六进制颜色代码…我该如何在PHP中构建这样的函数?
发布于 2011-04-11 04:43:00
获取一个从0到255的随机数,然后将其转换为十六进制:
function random_color_part() {
return str_pad( dechex( mt_rand( 0, 255 ) ), 2, '0', STR_PAD_LEFT);
}
function random_color() {
return random_color_part() . random_color_part() . random_color_part();
}
echo random_color();
发布于 2012-03-28 12:26:59
RGB十六进制字符串只是一个从0x0到0xFFFFFF的数字,因此只需在该范围内生成一个数字并将其转换为十六进制即可:
function rand_color() {
return '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
}
或者:
function rand_color() {
return sprintf('#%06X', mt_rand(0, 0xFFFFFF));
}
发布于 2012-08-09 14:38:45
您可以使用md5来实现此目的,非常简短
$color = substr(md5(rand()), 0, 6);
https://stackoverflow.com/questions/5614530
复制相似问题