for($i=0; $i < count($arr);$i++)
{
$result .= $arr[$i].',';
}
$result = substr($result, 0, -1);
echo $result;
?>
程序运行如下:
1 2,3,4,6,7,8,9,10,11,12,13,16,20,21,22,24
补充几点说明:
1、生成随机数时用了 mt_rand() 函数。这个函数生成随机数的平均速度要比 rand() 快四
倍。
2、去除数组中的重复值时用了“翻翻法”,就是用 array_flip() 把数组的 key
和
value 交换两次。这种做法比用 array_unique() 快得多。
3、返回数组前,先使用 shuffle() 为数组赋予新的键名,保证键名是 0-n 连续的数字。如
果不进行此步骤,可能在删除重复值时造成键名不连续,给遍历带来麻烦。
再看一实例
生成
0-z 这 36 个字符中的一个。每次调用 getOptions() 方法生成一个字符,它们的存储
如下:
array[0] = 0, array[1] = 1, ……, array[35] = z。
Array (
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
[10] => a
[11] => b
[12] => c
[13] => d
[14] => e
[15] => f
[16] => g
[17] => h
[18] => i
[19] => j
[20] => k
[21] => l
[22] => m
[23] => n