腾讯云618限量抢购
  1. PHP+MySQL数据库教程
  2. PHP进阶教程
  3. ThinkPHP 3.0/3.1 教程

PHP array_rand()从数组中随机取出1个或多个值

最后更新:2021-08-25 17:35阅读:4551

array_rand()

语法:

array_rand(array[, number])

number是需要返回的随机键值数,省略默认为1。需要注意的是,当number取值1时,返回的是一个随机键值,当大于1时,返回的是一个数组。

$array = array(
    0 => '我爱开发网',
    1 => 'www.5idev.com',
    2 => 'a',
    3 => 'b',
    4 => 'c',
    5 => 1,
    6 => 2,
    7 => 3
);

$random_key = array_rand($array);
echo $random_key;

运行以上代码,会随机输出0-7中的一个数字(键值),对应的随机元素便是$array[$random_key]。

当number大于1时:

$array = array(
    0 => '我爱开发网',
    1 => 'www.5idev.com',
    2 => 'a',
    3 => 'b',
    4 => 'c',
    5 => 1,
    6 => 2,
    8 => 3
);

$random_key = array_rand($array, 3);
print_r($random_key);

打印结果:

Array
(
    [0] => 1
    [1] => 5
    [2] => 6
)

每次重新执行程序结果可能都不相同,上述1,5,6即$array这个数组的随机键值。如果要得到该数组随机元素,可以如下:

$array = array(
    0 => '我爱开发网',
    1 => 'www.5idev.com',
    2 => 'a',
    3 => 'b',
    4 => 'c',
    5 => 1,
    6 => 2,
    7 => 3
);

$random_key = array_rand($array, 3);
$random_array = array();

foreach ($random_key as $val) {
    $random_array[] = $array[$val];
}
print_r($random_array);

运行的结果可能是:

Array
(
    [0] => www.5idev.com
    [1] => b
    [2] => 2
)

本章节内容共分 17 部分:
  1. 1. PHP 数组 Array
  2. 2. PHP 数组遍历 foreach 语法结构
  3. 3. PHP array_rand()从数组中随机取出1个或多个值
  4. 4. PHP is_array() 检测变量是否是数组
  5. 5. PHP 打印输出数组内容及结构 print_r 与 var_dump 函数
  6. 6. PHP 计算数组中的单元数目或对象中的属性个数 count 函数
  7. 7. PHP 计算数组中值的和与乘积 array_sum 与 array_product 函数
  8. 8. PHP 统计数组中所有的值出现的次数 array_count_values 函数
  9. 9. PHP 检查数组中是否存在某个值 in_array 函数
  10. 10. PHP 检查给定的键名或索引是否存在于数组中 array_key_exists 函数
  11. 11. PHP 在数组中搜索给定的值 array_search 函数
  12. 12. PHP list() 将数组中的值赋给变量
  13. 13. PHP 数组排序 sort、asort 及 ksort 系列函数
  14. 14. PHP 对数组使用 自然算法 进行排序 natsort 与 natcasesort 函数
  15. 15. PHP 对多个数组或多维数组进行排序 array_multisort 函数
  16. 16. PHP 将数组打乱 shuffle 函数
  17. 17. PHP array_filter()函数:过滤数组中的(空)值
腾讯云618限量抢购