我需要使用php函数* array_rand *获取随机值。
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
如何从中获得价值?就像$input[$rand_keys];
提前致谢。
答案 0 :(得分:1)
我还没有看到内置方式。我倾向于这样做:
$rand_values = array_map(
function($key) use ($input) { return $input[$key]; },
$rand_keys
);
但那是因为我彻底厌恶重复自己。 :P
答案 1 :(得分:1)
有很多方法可以做到这一点,包括简单的循环......这可能是最紧凑的单行程序:
$randValues = array_intersect_key($input, array_flip(array_rand($input, 2)));
答案 2 :(得分:0)
您正确使用它。 array_rand
为数组的随机条目返回一组键。但是,在您的情况下,如果您想以随机方式选择所有条目,您应该使用:
$rand_keys = array_rand($input, 5);
如果你想要一个数组,你可以$rand_values = array($input[$rand_keys[0]], $input[$rand_keys[1]], $input[$rand_keys[2]], $input[$rand_keys[3]], $input[$rand_keys[4]]);
。
答案 3 :(得分:0)
更改:
$rand_keys = array_rand($input, 2);
到
$rand_keys = array_rand($input, 1);