Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создание разнообразных вариантов массивов из массива

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
3d_killer
Отправлено: 13 Апреля, 2016 - 17:40:58
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Никак не могу придумать функцию которая бы это сделала, есть именованный массив вида:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. array(2) {
  3.   ["prop_size"]=>
  4.   array(2) {
  5.     [10]=>
  6.     array(1) {
  7.       [0]=>
  8.       string(1) "1"
  9.     }
  10.     [7]=>
  11.     array(1) {
  12.       [0]=>
  13.       string(1) "2"
  14.     }
  15.   }
  16.   ["prop_color"]=>
  17.   array(3) {
  18.     [11]=>
  19.     array(2) {
  20.       [0]=>
  21.       string(2) "18"
  22.       [1]=>
  23.       string(2) "37"
  24.     }
  25.     [9]=>
  26.     array(4) {
  27.       [0]=>
  28.       string(2) "16"
  29.       [1]=>
  30.       string(2) "13"
  31.       [2]=>
  32.       string(2) "30"
  33.       [3]=>
  34.       string(2) "18"
  35.     }
  36.     [8]=>
  37.     array(1) {
  38.       [0]=>
  39.       string(2) "21"
  40.     }
  41.   }
  42. }

на сколько видно ключи расположены в хаотичном порядке
необходимо получить все вариации параметров (prop_color, prop_size) параметров неизвестное количество
нужно получить возможные варианты товаров
знаю что нужно декартово произведение, и находил похожие функции, но все привязаны к ключам, что то как то сам допетрить не могу, прошу помощи
(Добавление)
в идеале на выходе получить что то похожее на это:
CODE (html):
скопировать код в буфер обмена
  1.  
  2.         array(
  3.         0=>
  4.                 array(
  5.                 'size'=>array(
  6.                         0=>3,
  7.                         1=>7,
  8.                         2=>5),
  9.                 'color'=>array(
  10.                         0=>3,
  11.                         1=>4)
  12.                   ),
  13.         1=>
  14.                 array(
  15.                 'size'=>array(
  16.                         0=>3,
  17.                         1=>7,
  18.                         2=>5),
  19.                 'color'=>array(
  20.                         0=>3,
  21.                         1=>4)
  22.                   )
  23.                 2=>
  24.                 array(
  25.                 'size'=>array(
  26.                         0=>3,
  27.                         1=>7,
  28.                         2=>5),
  29.                 'color'=>array(
  30.                         0=>3,
  31.                         1=>4)
  32.                   )
  33.           );
  34.  
 
My status
 Top
3d_killer
Отправлено: 13 Апреля, 2016 - 18:13:32
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




нарисовал более понятнее
(Добавление)
получилось чуть упорядочить, но он так же именованный
CODE (html):
скопировать код в буфер обмена
  1. array(2) {
  2.   ["prop_size"]=>
  3.   array(2) {
  4.     [0]=>
  5.     array(1) {
  6.       [0]=>
  7.       string(1) "3"
  8.     }
  9.     [1]=>
  10.     array(2) {
  11.       [0]=>
  12.       string(1) "3"
  13.       [1]=>
  14.       string(1) "4"
  15.     }
  16.   }
  17.   ["prop_color"]=>
  18.   array(3) {
  19.     [0]=>
  20.     array(1) {
  21.       [0]=>
  22.       string(2) "24"
  23.     }
  24.     [1]=>
  25.     array(1) {
  26.       [0]=>
  27.       string(2) "21"
  28.     }
  29.     [2]=>
  30.     array(2) {
  31.       [0]=>
  32.       string(2) "17"
  33.       [1]=>
  34.       string(2) "24"
  35.     }
  36.   }
  37. }

Прикреплено изображение (Нажмите для увеличения)
1.jpg

(Отредактировано автором: 13 Апреля, 2016 - 19:05:54)

 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 14 Апреля, 2016 - 02:24:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




 
 Top
3d_killer
Отправлено: 14 Апреля, 2016 - 09:54:02
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Спасибо, вчера уже сделал, сохраню на всякий случай
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 14 Апреля, 2016 - 10:17:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Не за что.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB