<?php
$my_array_to_sort= [
"data"=> [
0=>["name"=>"orange",
"id"=>23423],
1=>["name"=>"green",
"id"=>34343],
2=>["name"=>"red",
"id"=>65566],
]
];
$priority = [
"red"=>1,
"orange"=>2,
"green"=>3,
];
usort($my_array_to_sort['data'], function ($a, $b) use ($priority) {
return $priority[$a['name']] - $priority[$b['name']];
});
print_r($my_array_to_sort);
usort($my_array_to_sort['data'], function ($a, $b) use ($priority) {
return $priority[$b['name']] - $priority[$a['name']];
});
print_r($my_array_to_sort);
- 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.25, 8.4.1 - 8.4.12
- Array
(
[data] => Array
(
[0] => Array
(
[name] => red
[id] => 65566
)
[1] => Array
(
[name] => orange
[id] => 23423
)
[2] => Array
(
[name] => green
[id] => 34343
)
)
)
Array
(
[data] => Array
(
[0] => Array
(
[name] => green
[id] => 34343
)
[1] => Array
(
[name] => orange
[id] => 23423
)
[2] => Array
(
[name] => red
[id] => 65566
)
)
)
preferences:
152.7 ms | 410 KiB | 5 Q