如何从数组中随机获取一些内容,例如我有这个数组我想随机抓取其中一行,我该如何使用PHP?
$quizes = array(
'3-1' => '2',
'4+4' => '8',
'7-5' => '2',
'4+2' => '6',
'9-3' => '6',
'1+2' => '3',
'9+9' => '18',
'3+2' => '5',
'2*3' => '6',
'5*3' => '15',
'6+6' => '12',
'3+4' => '7',
'7-4' => '3',
'6+2' => '8',
'3*2' => '6',
'7+6' => '13',
'1+1' => '2',
'4*4' => '16',
'10-3' => '7'
);
我尝试了什么
$rand_keys = array_rand($quizes, 2);
echo $quizes[$rand_keys[0]] . "\n";
echo $quizes[$rand_keys[1]] . "\n";
但这仅返回2 7,15 2,3 2等结果
请帮助谢谢
答案 0 :(得分:1)
您可以随机化数组顺序并获取第一个元素。代码如下所示:
shuffle($quizes);
答案 1 :(得分:0)
嗯,你得到的正是你要求的 - 属于随机选择的键的值。
要获得key => value
对执行:
echo $rand_keys[0] . " => " . $quizes[$rand_keys[0]] . "\n";
当然,您可以根据需要格式化输出。
答案 2 :(得分:0)
代码中的每个“行”实际上都是两部分:一个键及其对应的值。例如,在第一行中'3-1'
是键,'2'
是其值。 =>
运算符表示此关系。
您使用的array_rand
函数将从数组中返回一个随机密钥(或一组密钥,如果您指定第二个参数)。
$key = array_rand($quizes); // returns a random key e.g. '3-1'
然后您可以使用该键获取相应的值
$value = $quizes[$key]; // returns the value that matches $key
有各种方法可以从那一点输出它们。如果您希望它看起来像在代码中那样,您可以使用
echo "$key => $value";