首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用PHP生成随机十六进制颜色代码

用PHP生成随机十六进制颜色代码
EN

Stack Overflow用户
提问于 2011-04-11 04:35:16
回答 13查看 137.3K关注 0票数 85

我正在做一个项目,在这个项目中,我需要生成未定义数量的随机、十六进制颜色代码…我该如何在PHP中构建这样的函数?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2011-04-11 04:43:00

获取一个从0到255的随机数,然后将其转换为十六进制:

代码语言:javascript
复制
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();
票数 108
EN

Stack Overflow用户

发布于 2012-03-28 12:26:59

RGB十六进制字符串只是一个从0x0到0xFFFFFF的数字,因此只需在该范围内生成一个数字并将其转换为十六进制即可:

代码语言:javascript
复制
function rand_color() {
    return '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
}

或者:

代码语言:javascript
复制
function rand_color() {
    return sprintf('#%06X', mt_rand(0, 0xFFFFFF));
}
票数 163
EN

Stack Overflow用户

发布于 2012-08-09 14:38:45

您可以使用md5来实现此目的,非常简短

代码语言:javascript
复制
$color = substr(md5(rand()), 0, 6);
票数 56
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5614530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档