php中有不少排序的函數,sort,rsort,ksort,krsort,asort,arsort,natcasesort,這些函數用來對數組的鍵或值進行這樣,或那樣的排序。php
能夠終究有時候還須要一些函數來隨機獲取數組的元素。數組
array_rand()函數函數
隨機獲取數組中的一個函數,能夠經過第二個參數指定一次獲取多少個元素,第一個參數目標數組spa
注意:這裏的隨機只是僞隨機數code
例子1blog
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 數組元素的個數。element
例子2 正常的用法,返回的是一個數組。class
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 // )