欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php 将数组打乱 shuffle() 和 数组随机抽取函数 array_rand()

PHP array_rand 从数组中随机取出一个或多个单元

array_rand

(PHP 4, PHP 5)

array_rand — 从数组中随机取出一个或多个单元

说明

mixed array_rand ( array $input [, int $num_req ] )

array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用。它接受 input 作为输入数组和一个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1。

如果你只取出一个,array_rand() 返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样你就可以随机从数组中取出键名和值。

Note自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 给随机数发生器播种 ,因为现在是由系统自动完成的。

 

Example #1 array_rand() 例子

<?php
srand
((float) microtime() * 10000000);
$input = array("Neo""Morpheus""Trinity""Cypher""Tank");
$rand_keys array_rand($input2);
print 
$input[$rand_keys[0]] . " ";
print 
$input[$rand_keys[1]] . " ";
?>

来自 http://www.php100.com/cover/php/184.html


PHP100 » PHP教程 » 将数组打乱

PHP shuffle 将数组打乱

shuffle

(PHP 4, PHP 5)

shuffle — 将数组打乱

说明

bool shuffle ( array &$array )

本函数打乱(随机排列单元的顺序)一个数组。

Note此函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。

 

Example #1 shuffle() 例子

<?php
$numbers 
range(1,20);
srand((float)microtime()*1000000);
shuffle($numbers);
foreach (
$numbers as $number) {
    echo 
"$number ";
}

?>

 

Note自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 给随机数发生器播种 ,因为现在是由系统自动完成的。

参见 arsort()asort()ksort()rsort()sort() 和 usort()


来自  http://www.php100.com/cover/php/2060.html


组随机抽取shuffle()和array_rand()

随机抽取就是将原有数组的元素打乱后输出,这意味着每次执行后,抽取的顺序或元素都不同,该功能可以用来在网页上每次显示不同的广告用shuffle()函数实现数组的随机抽取:

<?php

    $textArray = array('1','2','3','4','5','6','7');

    shuffle($textArray);

    print_r($textArray);

?>

结果如下显示:

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

实现的数组元素的随机排序;

另外php还提供了从数组中随机抽取值的函数:array_rand() ,其调用格式如下:

array_rand(<数组>,[抽取元素的个数]);

<?php

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

    $result = array_rand($arry,2);

    foreach ($result as $val) {

    echo $arry["$val"].""; }

?>

结果显示如下:

B

C

刷新有不同的结果;







使用array_rand() 函数从数组中随机选出一个或多个元素,并返回。 
复制代码代码如下:

array_rand(array,number) 

参数 描述 

array 必需。规定输入的数组参数。 

number 可选。默认是 1。规定返回多少个随机的元素。 

例子: 
复制代码代码如下:

<?php 
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); 
print_r(array_rand($a,1)); 
?> 

结果: 

b

来自
http://www.jb51.net/article/49465.htm


 

普通分类: