我有两个值:#FFF
和#000
我想随机地给任何人回声,
$color = array('#FFF','#000');
$color = array_rand($color);
$color = $color[$color];
echo $color;
但是它什么也不显示。
答案 0 :(得分:3)
您必须照顾两件事,
一个,如果您用相同的名称覆盖变量,则不会产生所需的结果。
第二,array_rand()
将生成随机密钥
为什么您的代码不起作用,因为您的初始数组为$color
:
$color = array('#FFF','#000');
此后,您正在使用array_rand()
,它将提供随机密钥
$color = array_rand($color);
现在,您的$color
从数组覆盖为整数值。这意味着当您尝试访问$color[$color]
时,这将不会给您任何好处,因为它没有被定义或覆盖。
解决方案:只需更改变量名(特别是数组)即可。使用适当的变量名是一种好方法,这将对其他在您之后从事您的工作的人有所帮助。
示例:
<?php
$colorArray = array('#FFF','#000');
$colorKey = array_rand($colorArray);
$colorName = $colorArray[$colorKey];
echo $colorName;
?>
答案 1 :(得分:2)
捕获其他变量中的随机索引,说$key
。
$color = array('#FFF','#000');
$key = array_rand($color);
echo $color[$key];
注意: array_rand —从数组中选择一个或多个随机键
答案 2 :(得分:1)
array_rand —从数组中选择一个或多个随机键
但是,您要覆盖阵列。 ( $ color )
尝试尝试:
$arrayRand = array_rand($color);
$randomColor= $color[$arrayRand];