随机数组值与 Shuffle 和 Rand
如果你想变得更花哨,你也可以使用 shuffle 函数来随机化数组中所有元素的顺序(不推荐):
$cars_array = array('Buick', 'Bentley', 'just a string key' => 'Chevrolet', 'Cadillac'); shuffle($cars_array); $first_key = array_key_first($cars_array); echo $arr["$first_key"];
因为数组是混洗的,并且根据数组的大小,这种方法会变慢。
但是,大多数时候我们应该得到一个新值。
使用 array_key_first 使代码既适用于整数键又适用于字符串键,这在旨在最大化代码的可移植性时非常有用。
Shuffle 打破了 kay 和值的关联,为每个值分配了新的键。
因此,我们可能希望避免使用此功能,因为它的可移植性较差。
最后一种方法,使用 rand ,仅限于数字数组键。
这是有效的,因为我们正在生成一个介于 0 和数组大小之间的随机数。
我们可以通过使用count函数返回数组中元素的个数来知道数组的大小:
$cars_array = array('Ford', 'Toyota', 'Volkswagen', 'Mazda'); $random_number = rand(0, count($cars_array)); echo $cars_array["$random_number"];
在本教程中,我们将学习如何在 PHP 中从数组中获取随机值。
实际上有一个我们可以使用的内置函数, array_rand ,它适用于数字和字符串键。
在大多数情况下,这可能是首选方式,因为它适用于索引数组和关联数组。
我们可以像这样利用 array_rand:
$cars_array = array('some string key' => 'Acura', 'BMW', 'Tesla', 'Audi'); $key = array_rand($cars_array); echo $arr["$key"];
日期:2020-06-02 22:17:13 来源:oir作者:oir