Как отсортирвоать массив по значениям другого массива?
У меня есть массив и мне нужно его отсортировать в нужном мне порядке по ключам. Там нет какой-то закономерности. Нужна сортировка которую я укажу.
Приведу пример, чтобы было понятнее. Допустим, у есть такой массив:
$array = array( 'second' => 'Чтоб вас оплакивать, мне жизнь сохранена.', 'first' => 'А вы, мои друзья последнего призыва!', 'fourth' => 'А крикнуть на весь мир ваши имена!', 'third' => 'Над вашей памятью не стыть плакучей ивой,', );
И мне нужно отсортировать его по указанному произвольному порядку:
$sort_by = array('first', 'second', 'third', 'fourth');
Чтобы в итоге получилось:
$array = array( 'first' => 'А вы, мои друзья последнего призыва!', 'second' => 'Чтоб вас оплакивать, мне жизнь сохранена.', 'third' => 'Над вашей памятью не стыть плакучей ивой,', 'fourth' => 'А крикнуть на весь мир ваши имена!', );
Вопрос задал, потому что хотелось бы получить какое-то простое решение, а не через перебор массива и сбор нового. Знаете какое-то изящное решение для этой задачи?
Для этого можно использовать array_merge() ибо функция «лепит» значения в порядке указанном в первом массиве.