Задать вопрос

Как получить из массива массив значений по массиву ключей?

Есть ассоциативный массив:
$arr1 = [
'key1' => 'val1',
'key2' => 'val2',
'key3' => 'val3',
];

Нужна функция, которая сработает так:
get_values_by_keys($arr1, ['key2', 'key1']); // вернёт ['val2', 'val1']

Какая функция делает это в PHP?
  • Вопрос задан
  • 242 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
function get_values_by_keys($input, $keys) {
    return array_map(function($item) use ($input) {
        return $input[$item];
    }, $keys);
}


Демо sandbox.onlinephpfunctions.com/code/2a90dfdc8f41a4...
Ответ написан
riot26
@riot26
<:З )~~
<?php
$arr1 = [
'key1' => 'val1',
'key2' => 'val2',
'key3' => 'val3',
];

$arr2 = array_intersect_key($arr1, array_flip(['key2', 'key1']));
var_dump($arr2);
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽