Сортировать подмассив по порядку массива в php?

У меня есть большой массив как $orderArr:

$orderArr = array("IZQ", "AOH", "VNP", "ICW", "IOQ", "BXP", "SHH", "EAY", "ZAF", "CUW");

который выглядит как

Array ( [0] => IZQ [1] => AOH [2] => VNP [3] => ICW [4] => IOQ [5] => BXP [6] => SHH [7] => EAY [8] => ZAF [9] => CUW )

и у меня есть два небольших массива как $subArr1 и $suBArr2:

$subArr1 = array("VNP", "BXP", "ICW", "IZQ");

$Subarr2 = array("ZAF", "IZQ", "AOH");

выглядит как

Array ( [0] => VNP [1] => BXP [2] => ICW [3] => IZQ )

Array ( [0] => ZAF [1] => IZQ [2] => AOH )

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

Я хочу отсортировать два небольших массива в соответствии с порядком большого массива, как показано ниже:

Array ( [0] => IZQ [1] => VNP [2] => ICW [3] => BXP )

Array ( [0] => IZQ [1] => AOH [2] => ZAF ) 

Я ищу самые простые коды, чтобы сделать это в php. Любые предложения приветствуются.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
25
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете использовать usort для сортировки по позиции массива:

usort($subArr1, function ($a, $b) use ($orderArr) {
   return (array_search($a, $orderArr) < array_search($b, $orderArr)) ? -1 : 1;
});

var_dump($subArr1);
Ответ принят как подходящий

Вероятно, самым простым было бы вычислить пересечение, и оно вернется в порядке первого массива:

$subArr1 = array_intersect($orderArr, $subArr1);

Это вернется с ключами первого массива; если вы хотите переиндексировать вместо этого:

$subArr1 = array_values(array_intersect($orderArr, $subArr1));

Другие вопросы по теме