[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пересечение масивов
Shurick
Добрый день. Ни как не могу решить задачу:

Есть массив опций и комбинация опций:



[options] => Array
(
[
156] => stdClass Object
(
[
feature_id] => 156
[name] => Диаметр
[value] => Array
(
[
1685985038] => 22
[2944839123] => 18
)

)

[
157] => stdClass Object
(
[
feature_id] => 157
[name] => Объём
[value] => Array
(
[
4088798008] => 4
[4068047280] => 6.0
[2233083363] => 2.5
)

)

)

[
combination] => Array
(
[
241] => Array
(
[
156] => 1685985038
[157] => 4068047280
)

[
256] => Array
(
[
156] => 2944839123
[157] => 2233083363
)

[
254] => Array
(
[
156] => 1685985038
[157] => 4088798008
)

)



нужен массив с пересечением значений:


[cross] => Array
(
[
2944839123] => Array
(
[
0] => 2233083363
)
[
2233083363] => Array
(
[
0] => 2944839123
)
[
1685985038] => Array
(
[
0] => 4088798008
[1] => 4068047280
)
[
4088798008] => Array
(
[
0] => 1685985038
)
[
4068047280] => Array
(
[
0] => 1685985038
)
)


как сделать не могу понять!



Спустя 5 минут, 26 секунд (8.08.2012 - 13:39) Игорь_Vasinsky написал(а):
покажи наглядно что с чём пересекается

Спустя 2 минуты, 32 секунды (8.08.2012 - 13:41) Shurick написал(а):
Эсли я правиьно вас понял то вот:

Диаметр 22см – Объём 4л
Диаметр 22см – Объём 6.0л
Диаметр 18см – Объём 2.5л

Функция предназначена для того что бы вывест селекты выбора варианта товара.

Когда мы выбираем оббьем 18л то пользователю должно быть доступно значение Объём 2.5л

Когда пользователь выбирает диаметр 22см то должны быть доступны опции Объём 6.0л и Объём 4л

Реализовать хочу через in_array для это нужны наборы доступных значений для конкретной опции.

Спустя 11 минут, 5 секунд (8.08.2012 - 13:52) Игорь_Vasinsky написал(а):
Цитата
[options] => Array
(
        [156] => stdClass Object
            (
                [feature_id] => 156
                [name] => Диаметр
                [value] => Array
                    (
                        [1685985038] => 22
                        [2944839123] => 18
                    )

            )

        [157] => stdClass Object
            (
                [feature_id] => 157
                [name] => Объём
                [value] => Array
                    (
                        [4088798008] => 4
                        [4068047280] => 6.0
                        [2233083363] => 2.5
                    )

            )

)


я если декодировать так

$arr = json_decode($arr, 1);


то будет настоящий массив.

Спустя 40 минут, 29 секунд (8.08.2012 - 14:33) Shurick написал(а):
я вывожу в шаблон именно объект, ничего декодировать не надо.

вопрос как пересечь массивы?

Спустя 9 минут, 21 секунда (8.08.2012 - 14:42) Winston написал(а):

Спустя 51 минута, 24 секунды (8.08.2012 - 15:34) Shurick написал(а):
Спасибо за ссылку, где найти перечень функций для массива я знаю. Вы сузили круг моего поиска, уверены что это можно реализовать посредством array_intersect?

Спустя 19 часов, 19 минут, 41 секунда (9.08.2012 - 10:53) Shurick написал(а):
Больше предложений нет?


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.