@ganjo888

Как слить два массива по id с одинаковыми значениями?

есть два массива
$categories = [
  6 => "Категория",
  8 =>' Вторая категория'
];
$users= [
  11 => 8
  19 => 6
  20 => 8
  21 => 6
  26 => 6
];
Хочу получить
$users = [
  11 => 'Вторая категория',
  19 => 'Категория',
  20 => 'Вторая категория',
  21 => 'Категория',
  26 => 'Категория'
];

пробовал через array_merge но он только добавляет в конец, нужно ли проходится с помощью foreach по $users? буду благодарен за пример
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
E1ON
@E1ON
Programming, Gamedev, VR
$output = array_map(function ($value) use ($categories) {
    return $categories[$value] ?? null;
}, $users);


$output = array_map(fn ($value) => $categories[$value] ?? null, $users);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
<?php
$categories = [
  6 => "Категория",
  8 => 'Вторая категория'
];

$users= [
  11 => 8,
  19 => 6,
  20 => 8,
  21 => 6,
  26 => 6,
];

foreach($users as &$val) 
{
    $val = $categories[$val] ?? $val;
}
unset($val);

print_r($users);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 11:49
25000 руб./за проект
25 апр. 2024, в 11:37
40000 руб./за проект