2012-12-31 140 views
-1
<?php 
$_50Shades = array("#150517", "#250517", "#2B1B17", "#342826"); 

$randKeys = array_rand($_50Shades, 1); 

print_r ("<BODY BGCOLOR=\"$randKeys\">"); 
?> 

这是我使用php手册和随机颜色生成器教程放在一起的代码。 我是一个初学PHP和一般编程的人,所以我仍然试图去处理事情。 结果只是一个黑屏,而不是生成我输入的随机颜色之一?尝试在PHP中创建一个随机颜色生成器

+0

看看HTML源代码,看看有什么不对。 –

回答

0
$_50Shades = array("#150517", "#250517", "#2B1B17", "#342826"); 
$randKeys = $_50Shades[rand(0,count($_50Shades)-1)]; 
print_r ("<BODY BGCOLOR=\"$randKeys\">"); 

,或者如果你是使用array_rand坚持:

$randKeys = $_50Shades[array_rand($_50Shades)]; 
+0

嗨,感谢您的快速回复,您能否解释为什么您在第2行做出这些更改?我很好奇,因为我试图获得一些知识?再次感谢 –

+0

兰德会做同样的事情,如果你正在寻找一个随机数,在你的情况下索引。我不确定为什么我选择了'rand'而不是'array_rand'。 –

+0

array_rand返回数组的键,通过键访问数组的一个元素,在这种情况下,如果仅返回1,则可能是$ _50Shades [0]或[1]或[2]或[3] –

3

array_rand返回键,而不是实际值。做这样的事情。

<?php 
$_50Shades = array("#150517", "#250517", "#2B1B17", "#342826"); 

$randKeys = array_rand($_50Shades, 1); 

print_r ("<BODY BGCOLOR=\"".$_50Shades[$randKeys]."\">"); 
?> 
1

array_rand返回对应于所选择的值,而不是值。

试试这个:

$_50Shades = array(.....); 
$randcol = $_50Shades[array_rand($_50Shades)]; 
echo "<body style=\"background-color:".$randcol.";\">"; 
+0

谢谢! :)伟大的帮助! –

0

找上了PHP documentation

如果你只取出一个,array_rand()返回一个随机进入的关键。否则,它将为随机条目返回一组键。