@Tannenfels

Как отсортировать ключи массива по ключам другого массива?

Есть массив:
[
            'key2' => $value2,
            'key1' => $value1,
            'key3' => $value3
        ];


Есть второй массив, который хранит своими значениями ключи первого в том порядке, который нам нужен:
['key1', 'key2', 'key3'];
Вопрос: как отсортировать первый массив по ключам массива-сортировщика?
Правильно понимаю, что нужно пользоваться uksort или foreach?
  • Вопрос задан
  • 1125 просмотров
Решения вопроса 1
@NedoKoder
Я правильно понял, что в двух массивах одинаковое количество значений, с одинаковыми именами?
Тогда все просто:
// Первый массив
$ArrayOne['a'] = 123;   $ArrayOne['b'] = 255;   $ArrayOne['c'] = 378;
// Второй массив
$ArrayTwo['b'] = 276;   $ArrayTwo['c'] = 342;   $ArrayTwo['a'] = 198;
// Создаем новый массив
$ArrayThree = array();
// Прогоняем все в новый массив
foreach($ArrayTwo as $key => $value){$ArrayThree[$key] = $ArrayOne[$key];}
// Готово, в массиве $ArrayThree все как тебе нужно
print_r($ArrayThree);
/*
Array
(
    [b] => 255
    [c] => 378
    [a] => 123
)*/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
array_merge(array_flip($keys), $array)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы