从字符串索引关联数组 PHP 中检索随机内容


retrieve random content from a string indexed associative array PHP

我正在尝试从字符串索引关联数组中检索随机数组。代码如下,我不断遇到错误:

$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,我希望它显示任何随机数。

提前谢谢你!

那是因为$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;