PHP Array Radom:打亂數組中的元素順序
在PHP中,我們可以使用array_rand()函數來隨機獲取數組中的元素。但是,這個函數只返回數組中的隨機鍵名,如果我們要打亂數組中的元素順序的話,就需要使用PHP內置函數shuffle()。
$fruits = array("apple", "banana", "orange", "grape"); shuffle($fruits); print_r($fruits);
上面的代碼先定義了一個水果數組,然后使用shuffle()函數打亂數組的順序,最后輸出打亂后的結果。
我們也可以使用rand()函數配合usort()函數來實現打亂數組元素的順序:
$fruits = array("apple", "banana", "orange", "grape"); usort($fruits, function() { return rand() >rand(); }); print_r($fruits);
上面的代碼使用了usort()函數,它可以按照指定的比較算法對數組進行排序。我們自定義了比較算法,并在其中使用rand()函數來隨機比較元素。這樣一來,就可以實現打亂數組元素的順序了。
如果我們想要打亂多維數組的元素順序,可以使用array_map()函數將shuffle()函數應用到每個子數組中:
$multi_fruits = array( array("apple", "banana", "orange", "grape"), array("pineapple", "watermelon", "pear", "mango") ); $shuffle_multi_fruits = array_map('shuffle', $multi_fruits); print_r($shuffle_multi_fruits);
上面的代碼使用了array_map()函數,它會將一個函數應用到數組中的每個元素,并返回一個新的數組。我們傳入了shuffle()函數,并把多維數組作為參數傳入array_map()函數中,得到了一個打亂了元素順序的多維數組。
總之,PHP Array Radom 提供了多種方法來打亂數組元素的順序,可以根據實際情況選擇最適合自己的方法。
上一篇java工具欄和菜單
下一篇css3 替代table