3v4l.org

run code in 500+ PHP versions simultaneously
<?php $str ='[{ "id": 1, "time": "2018-12-16", "pages_indexed": 1024 }, { "id": 2, "time": "2018-12-12", "something": 1024 }, { "id": 3, "time": "2018-12-09", "something": 7 }, { "id": 13, "time": "2018-11-08", "something": 7 }, { "id": 12, "time": "2018-11-12", "something": 7 }]'; $arr = json_decode($str, true); $time = array_column($arr, "time"); array_multisort($time, SORT_DESC, $arr); foreach(array_reverse($arr) as $sub){ $result[substr($sub["time"], 0, 7)]= $sub; } Var_dump($result);
Output for 5.6.38, 7.0.33, 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.31, 8.3.0 - 8.3.31, 8.4.1 - 8.4.22, 8.5.0 - 8.5.7
array(2) { ["2018-11"]=> array(3) { ["id"]=> int(12) ["time"]=> string(10) "2018-11-12" ["something"]=> int(7) } ["2018-12"]=> array(3) { ["id"]=> int(1) ["time"]=> string(10) "2018-12-16" ["pages_indexed"]=> int(1024) } }

preferences:
80.37 ms | 1456 KiB | 4 Q