<?php
$array = [
['name' => 'Dr. Hugo Lopez', 'duty' => 'Anesthesiologist', 'link' => ''],
['name' => 'Dr. Dario Garin', 'duty' => 'Orthopedic Specialist', 'link' => 'dr-dario-garin.php'],
['name' => 'Dr. Maclovio Yañez', 'duty' => 'Plastic Surgeon', 'link' => ''],
['name' => 'Melissa Bracker', 'duty' => 'Patient Liaison', 'link' => ''],
['name' => 'Dr. Diego Guzman', 'duty' => 'Cardiologist', 'link' => ''],
['name' => 'Ivan Arafat', 'duty' => 'Accountant', 'link' => ''],
['name' => 'Jorge Fernandez', 'duty' => 'Hospital Administrator', 'link' => ''],
];
$lookup = array_flip(['Hospital Administrator', 'Plastic Surgeon', 'Orthopedic Specialist']);
$fallback = count($lookup);
usort($array, function ($a, $b) use ($lookup, $fallback) {
return ($lookup[$a['duty']] ?? $fallback) <=> ($lookup[$b['duty']] ?? $fallback);
});
var_export($array);
- Output for 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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- array (
0 =>
array (
'name' => 'Jorge Fernandez',
'duty' => 'Hospital Administrator',
'link' => '',
),
1 =>
array (
'name' => 'Dr. Maclovio Yañez',
'duty' => 'Plastic Surgeon',
'link' => '',
),
2 =>
array (
'name' => 'Dr. Dario Garin',
'duty' => 'Orthopedic Specialist',
'link' => 'dr-dario-garin.php',
),
3 =>
array (
'name' => 'Dr. Hugo Lopez',
'duty' => 'Anesthesiologist',
'link' => '',
),
4 =>
array (
'name' => 'Melissa Bracker',
'duty' => 'Patient Liaison',
'link' => '',
),
5 =>
array (
'name' => 'Dr. Diego Guzman',
'duty' => 'Cardiologist',
'link' => '',
),
6 =>
array (
'name' => 'Ivan Arafat',
'duty' => 'Accountant',
'link' => '',
),
)
preferences:
80.8 ms | 409 KiB | 5 Q