0
我有一個數組,它具有基於視頻喜歡降序排列的視頻數據。這裏是我的數組: -如何在PHP中對數組進行混洗,以便所有行都互換?
Array $video_order_list
(
[0] => Array
(
[video_id] => 1
[video_title] => A1
[video_like] => 120
)
[1] => Array
(
[video_id] => 3
[video_title] => A3
[video_like] => 73
)
[2] => Array
(
[video_id] => 2
[video_title] => A2
[video_like] => 63
)
[3] => Array
(
[video_id] => 4
[video_title] => A4
[video_like] => 55
)
[4] => Array
(
[video_id] => 5
[video_title] => A5
[video_like] => 40
)
[5] => Array
(
[video_id] => 6
[video_title] => A6
[video_like] => 10
)
[6] => Array
(
[video_id] => 7
[video_title] => A7
[video_like] => 3
)
)
我複製的陣列到另一個陣列: -
$random_list = $video_order_list;
然後我想洗牌的陣列,爲此,我用這個: -
shuffle($random_list);
但是,有可能我的混洗陣列可能是這樣的: -
Array $random_list
(
[0] => Array
(
[video_id] => 2
[video_title] => A2
[video_like] => 63
)
[1] => Array
(
[video_id] => 3
[video_title] => A3
[video_like] => 73
)
[2] => Array
(
[video_id] => 7
[video_title] => A7
[video_like] => 3
)
[3] => Array
(
[video_id] => 4
[video_title] => A4
[video_like] => 55
)
[4] => Array
(
[video_id] => 6
[video_title] => A6
[video_like] => 10
)
[5] => Array
(
[video_id] => 5
[video_title] => A5
[video_like] => 40
)
[6] => Array
(
[video_id] => 1
[video_title] => A1
[video_like] => 120
)
)
看到video_id = 4
仍然在第三位(第四位)。我怎樣才能檢查這樣的問題?
功能checkArr(),以檢查是否在陣列中的任何元素是在同一個地方或沒有,如果不匹配返回false,並使用隨機()您可以使用array_rand()函數 –
編寫您自己的函數,該函數可以創建具有相同大小的新數組,並在您從第一個數組中選擇一個隨機值並且如果新索引不匹配插入到新數組中的情況下編寫一個循環。直爽不? – JapanGuy