php如何生成多个随机不重复颜色代码
functionrandColor($num){//colorvaluelimits0-16777215;$prehash='#';//usingstring'#'bef...
function randColor($num){
//color value limits 0-16777215;
$prehash='#'; //using string '#' before the color value;
$rsArr= array();
$color=rand(0,16777215);
for($i=0;$i<$num;$i++){
$rsArr[$i]=$prehash.dechex($color);
}
return $rsArr;
}
print_r(randColor(20));
以上代码是生成20个相同颜色代码,但是我想要的结果是随机生成20个不重复的颜色代码,请问如何修改呢 展开
//color value limits 0-16777215;
$prehash='#'; //using string '#' before the color value;
$rsArr= array();
$color=rand(0,16777215);
for($i=0;$i<$num;$i++){
$rsArr[$i]=$prehash.dechex($color);
}
return $rsArr;
}
print_r(randColor(20));
以上代码是生成20个相同颜色代码,但是我想要的结果是随机生成20个不重复的颜色代码,请问如何修改呢 展开
3个回答
展开全部
颜色取值范围16777215这样的值不准确也不科学吧。颜色由RGB组成。一共有255*255*255种可能。直接组合一下就行了。
$base=range(0,255);
$R=array_rand($base,20);shuffle($R);
$G=array_rand($base,20);shuffle($G);
$B=array_rand($base,20);shuffle($B);
for ($i=0;$i<20;$i++){
$color[]='#'.dechex($R[$i]).dechex($G[$i]).dechex($B[$i]);//这里再加上补足两位就ok了
}
var_dump($color);
展开全部
吧$color = rand(0,16777215);
放到for循环中ok····· 这样重复的几率很小,
放到for循环中ok····· 这样重复的几率很小,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
function randColor($num){
//color value limits 0-16777215;
$prehash='#'; //using string '#' before the color value;
$rsArr= array();
for($i=0;$i<$num;$i++){
$color=rand(0,16777215);
$rsArr[$i]=$prehash.dechex($color);
}
return $rsArr;
}
print_r(randColor(20));
?>
把生成随机数字的函数放到循环里就行,如果你放到外面,rand函数只执行一次,当然最后会
只有一个值
function randColor($num){
//color value limits 0-16777215;
$prehash='#'; //using string '#' before the color value;
$rsArr= array();
for($i=0;$i<$num;$i++){
$color=rand(0,16777215);
$rsArr[$i]=$prehash.dechex($color);
}
return $rsArr;
}
print_r(randColor(20));
?>
把生成随机数字的函数放到循环里就行,如果你放到外面,rand函数只执行一次,当然最后会
只有一个值
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询