Вопрос по сортировке многомерного массива

  • Автор темы Автор темы monblan
  • Дата начала Дата начала

monblan

Новичок
Вопрос по сортировке многомерного массива

Имеется многомерный массив с данными:
$a[]['cat_id'] = 2;
$a[]['cat_id'] = 3;
$a[]['cat_id'] = 11;

Есть второй массив:
$b[] = 3;
$b[] = 11;
$b[] = 2;

Значения массива $b - это значения параметра cat_id, заданные в определенной последовательности.

Подскажите как отсортировать массив $a по полю cat_id в порядке следования cat_id, заданном в массиве $b?
 
Что надо будет использовать usort я догадываюсь, но какой должна быть функция сравнения?
 
Я бы предпочел обойтись только array_flip() и, быть может, ksort() при желании/необходимости.
 
array_flip() для $a не подойдет, т.к. один cat_id может встречаться несколько раз.
 
monblan, я же подсказал: через array_search(). Функция сравнения определяет отношение порядка, «больше» или «меньше» мы определяем по расположению чисел в массиве $b.
 
Сверху