在php中,shuffle的中文意思是“洗牌”,該函數可以會將數組隨機打亂,把數組中的元素按隨機順序重新排列,語法格式“shuffle(array)”。 shuffle()函數會為陣列中的元素指派新的鍵名,已存在的鍵名將會被刪除。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
shuffle () 函數把數組中的元素以隨機順序重新排列。
shuffle() 函數不僅會將陣列隨機打亂,還會刪除陣列原有的鍵名,並重新建立新的鍵名,函數的語法格式如下:
shuffle(array)
其中array 為待操作的陣列。函數執行成功時會傳回 TRUE,執行失敗則傳回 FALSE。
提示:shuffle() 函數只對陣列的第一個維度適用,對於多維數組中第一個維度以外的維度則無效。
範例:使用shuffle() 函數打亂陣列順序
<?php header("Content-type:text/html;charset=utf-8"); $info = array('颜色1' => '红色', '颜色2' => '黄色', '颜色3' => '蓝色', '颜色4' => '紫色'); echo '<pre class="brush:php;toolbar:false">'; echo '数组打乱顺序前:'; print_r($info); echo '数组打乱顺序后:'; shuffle($info); print_r($info); ?>
輸出:
数组打乱顺序前:Array ( [颜色1] => 红色 [颜色2] => 黄色 [颜色3] => 蓝色 [颜色4] => 紫色 ) 数组打乱顺序后:Array ( [0] => 蓝色 [1] => 红色 [2] => 黄色 [3] => 紫色 )
與array_rand() 函數類似,使用shuffle() 函數同樣可以實現產生隨機驗證碼的功能,範例程式碼如下:
<?php function verCode(){ $arr = array_merge(range('A','Z'), range('a', 'z'), range('1', '9')); shuffle($arr); $newArr = array_slice($arr, 0, 4); $str = implode('', $newArr); return $str; } echo verCode().'<br>'; echo verCode().'<br>'; echo verCode().'<br>'; ?>
運行結果如下:
WLmj ngqO EolQ
注意:因為shuffle() 函數是隨機將數組打亂,所以每次執行的結果會不一樣。
推薦學習:《PHP影片教學》
以上是php shuffle什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!