【发布时间】:2017-10-24 08:28:35
【问题描述】:
我有一个多维数组如下:
$lee[] = array("question" => "3", "appeared" => "0");
$lee[] = array("question" => "4", "appeared" => "1");
$lee[] = array("question" => "5", "appeared" => "0");
$lee[] = array("question" => "6", "appeared" => "0");
$lee[] = array("question" => "7", "appeared" => "1");
$lee[] = array("question" => "8", "appeared" => "1");
$lee[] = array("question" => "9", "appeared" => "2");
$lee[] = array("question" => "10", "appeared" => "0");
$lee[] = array("question" => "12", "appeared" => "3");
$lee[] = array("question" => "15", "appeared" => "3");
$lee[] = array("question" => "19", "appeared" => "3");
function array_sort_by_column(&$arr, $col, $dir = SORT_ASC) {
$sort_col = array();
foreach ($arr as $key=> $row) {
$sort_col[$key] = $row[$col];
}
array_multisort($sort_col, $dir, $arr);
}
array_sort_by_column($lee, 'appeared');
到目前为止一切顺利 - 现在我的数组按“出现”列升序排序。
现在问题来了。我想随机打乱数组,但仍以升序保持“出现”列
如何做到这一点?我不知道。。
【问题讨论】:
-
您想要随机播放数组的“部分”。所以将数组分成几部分,洗牌每个部分并合并它们
-
所以你想打乱数组的“问题”部分,但保持出现的顺序不变?您尝试过的一个简短示例以及最终结果应该如何的一个最小示例会很好。
-
-
你应该创建 2 个不同的数组。
-
谁能给我一个例子来说明如何做到这一点?