Как из одного массива взять значения ключей и положить их в другой массив как ключ-значение.
Несколько вариантов, как из этого многомерного массива:
Сделать такой одномерный массив:
Итак:
1. Есть многомерный массив $array
2. Из него берем значения, которые содержатся в ключах slug и name
3. Из этих значений создаём новый массив как ключ (id) — значение (name).
Ниже приведены несколько примеров, от самого оптимального к менее.
I.
$newArr = array_column($array, 'slug', 'name');
II.
III.
$newArr = [];
foreach($array as $k => $v) {
$newArr[$v['slug']] = $v['name'];
}
foreach($array as $k => $v) {
$newArr[$v['slug']] = $v['name'];
}
IV.
foreach($array as $k => $v) {
$id[] = $v['slug'];
$name[] = $v['name'];
}
$newArr = array_combine($slug, $name);
$id[] = $v['slug'];
$name[] = $v['name'];
}
$newArr = array_combine($slug, $name);