【问题标题】:retrieve random content from a string indexed associative array PHP从字符串索引的关联数组 PHP 中检索随机内容
【发布时间】:2013-09-18 02:09:12
【问题描述】:

我正在尝试从字符串索引的关联数组中检索一个随机数组。代码如下,一直报错:

$suite['heart']=1;
$suite['heart']=2;
$suite['heart']=3;
$suite['heart']=4;
$suite['heart']=5;

$rand = array_rand($suite);
$card1 = $suite[$rand];

print $card1;

我的结果一直是静态的并且连续显示数字 5,我希望它显示任何随机数。

提前谢谢你!

【问题讨论】:

  • 如下所述,您在每个名为 heart 的变量中使用相同的变量。您可以使用不同的名称,例如 $suite['heart1']=1; $suite['heart2']=2; $suite['heart3']=3; $suite['heart4']=4; $suite['heart5']=5;,这样会起作用。

标签: php arrays string random associative-array


【解决方案1】:

那是因为$suite['heart'] 包含的所有内容都是5

你声明$suite['heart'] = 1; 然后重新声明$suite['heart'] = 2; 等。

我认为您在数组中寻找的更像是

$suite['heart'] = array(1, 2, 3, 4, 5);

还请注意,$rand = array_rand($suite); 只会检索 $suite 的直接子代(如果您没有定义任何其他值,则始终为 $suite['heart']) - 您还必须从子数组中选择一个随机值得到一个随机的西装和号码。

以下应该有效:

$suite['heart'] = array(1, 2, 3, 4, 5);
$suite['spade'] = array(1, 2, 3, 4, 5);

$suit = array_rand($suite);
$card = array_rand($suite[$suit]);
$card1 = $suite[$suit][$card];

print $card1;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-12
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    相关资源
    最近更新 更多