当我只请求一个项目时,为什么array_rand不起作用?

Joh*_*ohn 1 php arrays random key echo

以下工作正常:

<?php
$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";
?>
Run Code Online (Sandbox Code Playgroud)

但这不是:

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 1);
echo $input[$rand_keys[0]] . "\n";
?>
Run Code Online (Sandbox Code Playgroud)

array_rand当我只请求一个随机索引时,为什么不工作?

sim*_*aun 6

从手册:

如果只选择一个条目,array_rand()将返回随机条目的键.否则,它返回随机条目的键数组.

因此:

  • 当只获得一个随机条目时,您只需使用$input[$rand_key].
  • 获取多个随机条目时,您使用$input[$rand_key[0]](或其他索引,最多拉出随机密钥的数量)