php 二維陣列打亂順序
#===============排序函式================
function shuffle_assoc($list) { if (!is_array($list)) return $list; $keys = array_keys($list); shuffle($keys); $random = array(); foreach ($keys as $key) { $random[$key] = shuffle_assoc($list[$key]); } return $random; }
#===============測試二維陣列================
$data = array( array("id"=>13,"name"=>"張三"), array("id"=>1,"name"=>"李愛媛"), array("id"=>6,"name"=>"蔡依林"), array("id"=>8,"name"=>"陳思"), array("id"=>21,"name"=>"何達玲"), array("id"=>14,"name"=>"趙勇"), ); $tmp = shuffle_assoc($data); var_dump($tmp); }
#===============列印結果================
array(6) { [1]=> array(2) { ["id"]=> int(1) ["name"]=>string(9) "李愛媛" } [2]=>array(2) { ["name"]=>string(9) "蔡依林" ["id"]=> int(6) } [5]=>array(2) { ["id"]=>int(14) ["name"]=>string(6) "趙勇" } [4]=>array(2) { ["name"]=>string(9) "何達玲" ["id"]=>int(21) } [0]=>array(2) { ["id"]=>int(13) ["name"]=>string(6) "張三" } [3]=>array(2) { ["id"]=>int(8) ["name"]=>string(6) "陳思" } }