@yar_stun
frontend-dev

Как чётные элементы массива сделать ключами, а нечётные значениями нового массива?

Есть массив такого вида:
[chars] => Array
                (
                    [0] => Код товара
                    [1] => 9260182
                    [2] => Артикул
                    [3] => 7404
                    [4] => Производитель
                    [5] => Конкорд
                    [6] => Страна
                    [7] => Россия
                    [8] => Наименование
                    [9] => Кабель КГтп 1х25- 0,66
                    [10] => Упаковки
                    [11] =>  
                    [12] => Сертификат
                    [13] => C-RU.АЮ64.B00658
                    [14] => Тип изделия
                    [15] => Кабель
                    [16] => Марка
                    [17] => КГтп
                    [18] => Количество жил
                    [19] => 1
                    [20] => Сечение жилы, мм2
                    [21] => 25
                    [22] => Напряжение, В
                    [23] => 660
                    [24] => Исполнение
                    [25] => Без исполнения
                    [26] => Материал оболочки
                    [27] => Композиция на основе стирольного термоэластопласта
                    [28] => Материал изоляции
                    [29] => Композиция на основе стирольного термоэластопласта
                    [30] => Диапазон рабочих температур
                    [31] => от -40 до +50
                    [32] => Наличие экрана
                    [33] => Нет
                    [34] => Конструкция жилы
                    [35] => Многопроволочная
                    [36] => Форма жилы
                    [37] => Круглая
                    [38] => Наличие защитного покрова
                    [39] => Нет
                    [40] => Диаметр, мм
                    [41] => 13.31

По логике вещей мне нужно сделать что бы каждое нечетное значение этого массива было ключем, а четное - значением ( Код товара => 9260182 ). Вопрос, как можно его переделать с помощью php функций? Или каким путем можно решить данную проблему?
  • Вопрос задан
  • 268 просмотров
Решения вопроса 1
0xD34F
@0xD34F
$chunks = array_chunk($arr, 2);
$newArr = array_combine(array_column($chunks, 0), array_column($chunks, 1));

или

for ($i = 0; $i < count($arr); $i += 2) {
  $newArr[$arr[$i]] = $arr[$i + 1];
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Lyrium
@Lyrium
Web developer
циклом (foreach проще всего) перебери и сохрани все в новый массив, согласно необходимым условиям
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
форич/фор, остаток от деления нацело (%), мосх... или различные комбинации всего перечисленного...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы