次の曜日の配列があり、各日には1日の時間があります(配列全体がパートタイム従業員のスケジュールを表します)。
Array
(
[7] => Array
(
[0] => 15
[1] => 14
[2] => 13
[3] => 11
[4] => 12
[5] => 10
)
[1] => Array
(
[0] => 10
[1] => 13
[2] => 12
)
[6] => Array
(
[0] => 14
)
[3] => Array
(
[0] => 4
[1] => 5
[2] => 6
)
)
そして私は単にする必要があります:
- 各サブ配列(2次元)をascでソートします-数値キーを維持する必要はありません。値は整数です
- ascを1次元でソートし、数値の整数キーを維持します
すなわち:
Array
(
[1] => Array
(
[0] => 10
[1] => 12
[2] => 13
)
[3] => Array
(
[0] => 4
[1] => 5
[2] => 6
)
[6] => Array
(
[0] => 14
)
[7] => Array
(
[0] => 10
[1] => 11
[2] => 12
[3] => 13
[4] => 14
[5] => 15
)
)
追加情報:
- 1次元のキーと2次元の値(そしてもちろんそれらの関連付け)だけが私のユースケースにとって意味があります
- 1番目のディメンションは、1〜7(曜日)の範囲で最大7つの値を持つことができ、少なくとも1つの値(1日)を持つことになります。
- 2番目のディメンションは、0〜23(1日の時間)の範囲で最大24の値を持つことができ、少なくとも1つの値(1日あたり1時間)を持つことができます。
ed配列foreach
全体と各2次元配列でこれを実行できることはわかっています。ksort
sort
ksort($sched);
foreach ($sched as &$array) sort($array);
unset($array);
しかし、代わりにネイティブのphp配列関数を使用してこれを実現できることを望んでいました。
私の検索は私を試みさせましたarray_multisort(array_values($array), array_keys($array), $array)
、しかし私はそれをうまく動かすことができません。