|
--------------------------------------------------------------------------------
函式:shuffle()
--------------------------------------------------------------------------------
阵列处理函式库
shuffle
将阵列的顺序弄混。
语法: void shuffle(array array);
传回值: 无
函式种类: 资料处理
内容说明
本函式将阵列以随机的方式使全部元素重新乱排。
使用范例
$numbers = range(1,20);
srand(time());
shuffle($numbers);
while (list(,$number) = each($numbers)) {
echo "$number ";
}
?>
注意:
ccunning@math.ohio-state.edu 指出 (31-May-1999),在 Solaris 上由于受了 libc 函式馆的影响,会使本函式出现问题。目前解决的方式如下面的例子。(注: 或许之后新的 PHP 版本会修正这个问题。)
function myshuffle($array) {
mt_srand((double) microtime()*1000000);
$num = count($array);
for ($i=0; $i<$num-1; $i++) {
$n = mt_rand($i+1,$num);
$temp = $array[$n];
$array[$n] = $array[$i];
$array[$i] = $temp;
}
}
$array = array(1,2,3,4,5,6,7,8,9,10);
myshuffle(&$array);
while (list(,$var)=each($array)) {
echo $var . " ";
}
?>
参考
arsort() asort() ksort() rsort() sort() usort() |
|