[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Комбинации чисел
nike90
Здравствуйте, помогите написать функцию которая будет составлять всевозможные комбинации чисел.

Входящие данные:
$arrNumbs  = array(
0 => array(2,3),
1 => array(1,2,3),
2 => array(3),
3 => array(1,3)
);

Есть массив вот такого формата, мне нужно посчитать все возможные комбинации 4 числе, к примеру - подсчет вручную:

2 1 3 1
2 2 3 1
2 3 3 1
2 1 3 3
2 2 3 3
2 3 3 3
... и т.д.

только нужно написать функцию которая будет считать, подсчет можно в массив записывать ...

Спасибо!
S.Chushkin
select * 
from
(select 2 a1 union select 3) t1,
(
select 1 a2 union select 2 union select 3) t2,
(
select 3 a3) t3,
(
select 1 a4 union select 3) t4

:D

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
volter9
nike90
Как то так:
$numbers = [
[
2, 3],
[
1, 2, 3],
[
3],
[
1, 3]
];


function c ($numbers, &$result, $prefix = '', $i = 0) {
if (!isset($numbers[$i])) {
return;
}

$array = $numbers[$i];
$insert = $i === count($numbers) - 1;

for ($j = 0, $len = count($array); $j < $len; $j++) {
$str = $prefix . $array[$j];

if ($insert) {
$result[] = $str;
}

c($numbers, $result, $str, $i + 1);
}
}
;

$result = [];

c($numbers, $result);

var_dump($result);


_____________
Мой блог
Быстрый ответ:

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