<?php
$array = [
['id' => '111', 'value' => 'abc'],
['id' => '100', 'value' => 'abc'],
['id' => '132', 'value' => 'abc'],
['id' => '222', 'value' => 'abc'],
['id' => '112', 'value' => 'abc'],
['id' => '200', 'value' => 'abc']
];
$idPriorities = array_flip(['112', '111', '132', '100']);
$idOutlier = count($idPriorities);
usort(
$array,
function($a, $b) use ($idPriorities, $idOutlier) {
return ($idPriorities[$a['id']] ?? $idOutlier) <=> ($idPriorities[$b['id']] ?? $idOutlier);
}
);
var_export($array);
preferences:
58.97 ms | 402 KiB | 5 Q