PHP - Сортировка многомерного массива по другому массиву

Я пытаюсь отсортировать многомерный массив по другому массиву, но пока ничего не получается.
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'),
);

Я могу легко добиться этого, запустив вложенный цикл, но это не очень хорошо масштабируется (мой массив довольно большой, а массивы имеют гораздо больше полей).

8
задан hakre 4 October 2012 в 08:50
поделиться