Я пытаюсь отсортировать многомерный массив по другому массиву, но пока ничего не получается. array_multisort
похоже, работает только для реальной сортировки.
Предположим, у меня есть 2 массива:
$order = array(2,3,1);
$data = array(
array('id' => 1, 'title' => 'whatever'),
array('id' => 2, 'title' => 'whatever'),
array('id' => 3, 'title' => 'whatever')
);
Теперь я хочу отсортировать массив $data
в соответствии с порядком в массиве $order
.
Вот что я хотел бы получить в результате:
$data = array(
array('id' => 2, 'title' => 'whatever'),
array('id' => 3, 'title' => 'whatever')
array('id' => 1, 'title' => 'whatever'),
);
Я могу легко добиться этого, запустив вложенный цикл, но это не очень хорошо масштабируется (мой массив довольно большой, а массивы имеют гораздо больше полей).