PHP-如何获取数组中的随机元素?

PHP-如何获取数组中的随机元素?,php,arrays,Php,Arrays,但是echo'Rand='。$Rand在显示器上打印Rand= 请告诉我为什么我们不能得到$Rand?你用错了。应该是: $AllNums = array(); //array is { [0]=> string(1) "2" [1]=> string(1) "1" }; $RandNums = array_rand($AllNums, 1); // var_dump($RandNums) show - int(0) $Rand = $AllNums[$RandNums[0]];

但是
echo'Rand='。$Rand
在显示器上打印
Rand=


请告诉我为什么我们不能得到
$Rand

你用错了。应该是:

$AllNums = array();
//array is { [0]=> string(1) "2" [1]=> string(1) "1" };

$RandNums = array_rand($AllNums, 1);
// var_dump($RandNums) show - int(0)

$Rand = $AllNums[$RandNums[0]];

你用错了。应该是:

$AllNums = array();
//array is { [0]=> string(1) "2" [1]=> string(1) "1" };

$RandNums = array_rand($AllNums, 1);
// var_dump($RandNums) show - int(0)

$Rand = $AllNums[$RandNums[0]];
array\u rand($AllNums,1)
返回一个值,而不是数组,因此您不必在
$Rand=$AllNums[$RandNums[0]]中添加
[0]

$AllNums = array('1', '2');
$RandNums = array_rand($AllNums, 1); // this return an int() which can be used as an index
$Rand = $AllNums[$RandNums]; // no need to put `[0]`
echo $Rand;
// Actually no need to explicitly put 1, since its default it 1
array\u rand($AllNums,1)
返回一个值,而不是数组,因此您不必在
$Rand=$AllNums[$RandNums[0]]中添加
[0]

$AllNums = array('1', '2');
$RandNums = array_rand($AllNums, 1); // this return an int() which can be used as an index
$Rand = $AllNums[$RandNums]; // no need to put `[0]`
echo $Rand;
// Actually no need to explicitly put 1, since its default it 1
使用:

使用:

array\u rand
指定,如果使用
array\u rand
仅获取一个值,它将返回一个值。仅当您尝试获取更多值时(使用第二个参数)

of
array\u rand
指定如果使用
array\u rand
仅获取一个值,则返回单个值。仅当您试图获取更多值(使用第二个参数)时,它才会返回数组。

echo$AllNums[array_rand($AllNums)]

使用数组_rand()

echo$AllNums[array_rand($AllNums)]

使用数组_rand()

您可以使用
mt\u rand

$AllNums = array();
shuffle($AllNUms)
$Rand = $AllNums[0];

您可以使用mt_rand

$AllNums = array();
shuffle($AllNUms)
$Rand = $AllNums[0];

这是我首选的方法,但它将完全改变数组。这是我首选的方法,但它将完全改变数组。