<?php
$array = [
'a' => 0,
'b' => 0,
'c' => 0,
'd' => 1,
'e' => 1,
'f' => 1
];
array_multisort(
array_map(
function ($v) {
static $counters = [0, 0];
return $counters[$v]++;
},
$array
),
$array,
SORT_DESC
);
var_export($array);
- Output for 8.1.32, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.14
- array (
'd' => 1,
'a' => 0,
'e' => 1,
'b' => 0,
'f' => 1,
'c' => 0,
)
preferences:
66.6 ms | 406 KiB | 5 Q