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

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?
 

monblan

Новичок
Что надо будет использовать usort я догадываюсь, но какой должна быть функция сравнения?
 

Sluggard

Новичок
Я бы предпочел обойтись только array_flip() и, быть может, ksort() при желании/необходимости.
 

monblan

Новичок
array_flip() для $a не подойдет, т.к. один cat_id может встречаться несколько раз.
 

Вурдалак

Продвинутый новичок
monblan, я же подсказал: через array_search(). Функция сравнения определяет отношение порядка, «больше» или «меньше» мы определяем по расположению чисел в массиве $b.
 
Сверху