开启辅助访问
帐号登录 |立即注册

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

 
array_rand()
语法:

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

code
$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时:

code
$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);
打印结果:

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

code
$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);
运行的结果可能是:

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

回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。