У меня есть следующий массив, который указывает порядок сортировки массива DATA:
$PARENT_ID_ORDER = array(1, 3, 2);
Здесь массив DATA, содержащий ключ PARENT_ID, я хочу сортировать по ключу PARENT_ID, используя мой PARENT_ID_ORDER:
$DATA = array (
array (
'PARENT_ID' => 2;
),
array (
'PARENT_ID' => 2;
),
array (
'PARENT_ID' => 1;
),
array (
'PARENT_ID' => 3;
),
array (
'PARENT_ID' => 1;
),
array (
'PARENT_ID' => 2;
),
array (
'PARENT_ID' => 2;
)
);
Ожидаемый результат:
array(
[0] => Element Object
(
[PARENT_ID] => 1,
),
[1] => Element Object
(
[PARENT_ID] => 1,
),
[2] => Element Object
(
[PARENT_ID] => 3,
),
[3] => Element Object
(
[PARENT_ID] => 2,
),
[4] => Element Object
(
[PARENT_ID] => 2,
),
[5] => Element Object
(
[PARENT_ID] => 2,
),
[6] => Element Object
(
[PARENT_ID] => 2,
)
);
Как я могу предоставить массив заказов для сортировки, чтобы он сортировался таким образом? Благодарю!
Я думаю, вы ищете это http://php.net/manual/en/function.usort.php. Вы можете использовать это вместе с бинарным поиском или встроенным array_search, если массив мал