【发布时间】:2021-09-17 12:01:26
【问题描述】:
我可以解释我到底想要什么。
假设我有五门科目(A、B、C、D、E),每个科目从周一到周五每天都有考试(即 5 天时段)。所以 $buckets 数组看起来像这样:
$buckets = [
[A2, B2, C2, D2, E2],
[C3, A3, D3, B3, E3],
[B4, D4, C4, E4, A4],
[E5, B5, C5, A5, D5],
[A6, B6, D6, C6, E6],
];
按主题分开后,我最终得到:
$subjects = [
'A' => [A2, A3, A4, A5, A6],
'B' => [B2, B3, B4, B5, B6],
'C' => [C2, C3, C4, C5, C6],
'D' => [D2, D3, D4, D5, D6],
'E' => [E2, E3, E4, E5, E6],
];
现在我想要的是,从上面到数组,我想像这样展平:
$buffers = [
[A2, B2, C2, D2, E2],
[A3, B3, C3, D3, E3],
[A4, B4, C4, D4, E4],
[A5, B5, C5, D5, E5],
[A6, B6, C6, D6, E6],
]
然后,如果我将其展平并选择前五个,我最终只会得到周一的考试,而其他日子则没有。
我想要的期望输出是,应该涵盖多天和多个主题并且是唯一的;在这种情况下,一种可能的选择可能是 [B2, D3, A4, E5, C6](即每天选择一个,每天随机选择不同的主题)。
关于如何实现这一目标的任何建议? 基本上我想在这里做两件事,如何生成 $buffer 数组以及如何从中获得所需的输出。
谢谢!
【问题讨论】:
标签: php