Перечисление данных в массиве php по заголовку

1

У меня довольно сложный набор данных, доступный в массиве, в частности разные варианты для одного продукта.

В этом примере продукт представляет собой кабель и доступен разной длины и разных цветов, поэтому вы можете получить желтый кабель длиной 1 м, а также зеленый кабель 1 м и т.д. Я хочу, чтобы иметь возможность перечислять эти параметры в аккордеонах, но группировать их по длине, поэтому, если клиенту нужен желтый кабель длиной 2 м, они нажимают на аккордеон "2 м" и выбирают желтый изнутри аккордеона.

Вот пример одной записи в массиве:

[3775] => Array
        (
            [id] => 3775
            [product_id] => 4928
            [active] => 0
            [var] => 37:63
            [price] => 0.0000
            [opts] => Array
                (
                    [37] => 0.3m
                    [38] => 0.5m
                    [39] => 1.0m
                    [40] => 1.5m
                    [41] => 2.0m
                    [42] => 3.0m
                    [43] => 4.0m
                    [44] => 5.0m
                    [45] => 6.0m
                    [46] => 7.0m
                    [47] => 8.0m
                    [48] => 10.0m
                    [49] => 15.0m
                    [50] => 20.0m
                    [51] => 25.0m
                    [52] => 30.0m
                    [53] => 50.0m
                    [59] => Grey
                    [63] => Red
                    [58] => Green
                    [55] => Blue
                    [65] => Yellow
                    [54] => Black
                    [62] => Purple
                    [64] => White
                    [60] => Orange
                    [61] => Pink
                    [56] => Brown
                )
        )

Клавиша [var] представляет два идентификатора массива [opts], поэтому 37:63 относится к 0,3 миллионам красных.

Остальная часть массива выглядит точно так же (в том смысле, что массив opt остается тем же), но var, combi и ID будут меняться.

Есть ли простой способ группировать эти параметры по длине и затем перечислять каждый доступный цвет под ним?

Заранее спасибо.

Теги:
arrays

1 ответ

0

Использовать array_filter в массиве параметров

Функция обратного вызова должна принимать строку в качестве аргумента и возвращать значение true, если строка начинается с числа. Вы можете использовать preg_match для этого

Ещё вопросы

Сообщество Overcoder
Наверх
Меню