數組中隨機顯示一個?

 $arry = array('A','B','C','D');
$result = array_rand($arry,2);
foreach ($result as $val) 
{
echo $arry["$val"].""; 
}

請問一下 這樣會隨機產生2組 ABCD的組合 例如BC DC AB等等
但我想顯示的是只要顯示一個就好了 隨機從數組中顯示A或B或C或D
請問這樣怎麼做?
我把2改1後就失敗了

阅读 2.6k
3 个回答

mixed array_rand ( array $array [, int $num = 1 ] )
# Picks one or more random entries out of an array, and returns the key (or keys) of the random entries. It uses a pseudo random number generator that is not suitable for cryptographic purposes.

会随机返回指定数组中的键,根据需求$num会返回一个键 或 以数组的形式返回多个键。

如果你有数组

<?php
$arry = array('A','B','C','D');

现在想每次随机输出数组中的一个元素,则可以采用以下方式获取:

<?php
$arry = array('A','B','C','D');
$rand_key = array_rand($array, 1);
echo $array[$rand_key];

以此同理可以实现其他的随机元素键并获取数组的随机元素。

$array = array('A','B','C','D');
$newArray = $array;
shuffle($newArray);
echo $newArray[0];

Picks one or more random entries out of an array, and returns the key
(or keys) of the random entries. It uses a pseudo random number
generator that is not suitable for cryptographic purposes.

如果第二个参数为1或者没有时, 返回的并不是数组, 而只是一个数字

    $result = array_rand($arry,2); // 是一个**数组** 如[1,2,3]
    $result = array_rand($arry,1); // 只是一个**数字** 如 1, 并不是[1]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题