<?php
$array = [
['id' => 7867867, 'animal' => 'Dog'],
['id' => 3452342, 'animal' => 'Lion'],
['id' => 1231233, 'animal' => 'Lion'],
['id' => 5867867, 'animal' => 'Dog'],
['id' => 1111111, 'animal' => 'Zeebra'],
['id' => 2222222, 'animal' => 'Cat'],
['id' => 3333333, 'animal' => 'Cat'],
['id' => 4444444, 'animal' => 'Zeebra']
];
$priorities = array_flip(['Lion', 'Dog', 'Zeebra', 'Cat']);
usort($array, function($a, $b) use ($priorities) {
return $priorities[$a['animal']] <=> $priorities[$b['animal']];
});
var_export($array);
preferences:
24.29 ms | 406 KiB | 5 Q