Здравствуйте. Не подскажите как из массива: Array ( [1] => Array ( [ ] => A [ ] => B [ ] => C ) [2] => Array ( [ ] => Серый [ ] => Чёрный ) ) сделать следующий массив: Array ( [ ] => Array ( [1] => A [2] => Серый ) [ ] => Array ( [1] => A [2] => Чёрный ) [ ] => Array ( [1] => B [2] => Серый ) [ ] => Array ( [1] => B [2] => Чёрный ) [ ] => Array ( [1] => C [2] => Серый ) [ ] => Array ( [1] => C [2] => Чёрный ) ) то есть, перебрать массив со всеми возможными комбинациями, но чтоб они не повторялись.
пользуйся ббкодом [ code ] для оформления. данные будут выглядеть лучше, а главное, удобнее для подстановки помошниками, если будешь использовать var_export() https://www.google.ru/search?q=php+generate+all+combinations+array
ОК, исправил. Массив: Код (Text): Array ( [1] => Array ( [3] => A [4] => B [5] => C ) [2] => Array ( [9] => Серый [10] => Чёрный ) ) Результат: Код (Text): Array ( [0] => Array ( [1] => A [2] => Серый ) [1] => Array ( [1] => A [2] => Чёрный ) [2] => Array ( [1] => B [2] => Серый ) [3] => Array ( [1] => B [2] => Чёрный ) [4] => Array ( [1] => C [2] => Серый ) [5] => Array ( [1] => C [2] => Чёрный ) )
вооооот! так ведь намного лучше. но var_export() был бы ещё лучше. ответ собственно уже даден. гугль всё об этом знает. вот конкретно оттуда: Код (PHP): <?php function combos($data, &$all = [], $group = [], $val = null, $i = 0) { if (isset($val)) { array_push($group, $val); } if ($i >= count($data)) { array_push($all, $group); } else { foreach ($data[$i] as $v) { combos($data, $all, $group, $v, $i + 1); } } return $all; } $data = [ ['A', 'B', 'C'], ['gray', 'black'], ]; $combos = combos($data); var_export($combos);[/php]