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