使用array_rand的php中的随机值

时间:2019-07-05 13:01:11

标签: php arrays random

我有两个值:#FFF#000

我想随机地给任何人回声,

$color = array('#FFF','#000');
$color = array_rand($color);
$color = $color[$color];
echo $color;

但是它什么也不显示。

3 个答案:

答案 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 —从数组中选择一个或多个随机键

Demo

答案 2 :(得分:1)

使用array_rand

是个好主意
  

array_rand —从数组中选择一个或多个随机键

但是,您要覆盖阵列。 ( $ color

尝试尝试:

$arrayRand = array_rand($color);
$randomColor= $color[$arrayRand];