欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php中让数组顺序随机化,打乱顺序等

程序员文章站 2022-05-31 21:08:43
php中有很多排序的函数,sort,rsort,ksort,krsort,asort,arsort,natcasesort,这些函数用来对数组的键或值进行这样,或那样的排序。 可以终究有时候还需要一些函数来随机获取数组的元素。 array_rand()函数 随机获取数组中的一个函数,可以通过第二个参 ......

php中有很多排序的函数,sort,rsort,ksort,krsort,asort,arsort,natcasesort,这些函数用来对数组的键或值进行这样,或那样的排序。

可以终究有时候还需要一些函数来随机获取数组的元素。

array_rand()函数

随机获取数组中的一个函数,可以通过第二个参数指定一次获取多少个元素,第一个参数目标数组

注意:这里的随机只是伪随机数

例子1

1 $arr = [1, 2, 3, 4, 5];
2 print( array_rand( $arr, 6 ) );

输出:

warning: array_rand(): second argument has to be between 1 and the number of elements in the array in d:\workspace\project_shop\demo.php on line 3

其实echo什么也没有输出,只有一个警告,就是第二个参数一定要 小于等于 $arr 数组元素的个数。

例子2 正常的用法,返回的是一个数组。

1 $arr = [1, 2, 3, 4, 5];
2 print_r( array_rand( $arr, 3 ) ) ;
3 // array
4 // (
5 //     [0] => 0
6 //     [1] => 1
7 //     [2] => 2
8 // )

shuffe()函数 ,打乱数组中的元素位置

这个函数按引用传递一个目标数组,返回真假值

例子3 从结果可以看到,打乱元素位置顺序之后,并未保留原来的键值关系

 1 $arr = [1, 2, 3, 4, 5];
 2 var_dump( shuffle( $arr ) ) ;
 3 print_r( $arr );
 4 // bool(true)
 5 // array
 6 // (
 7 //     [0] => 3
 8 //     [1] => 4
 9 //     [2] => 2
10 //     [3] => 1
11 //     [4] => 5
12 // )