Как просчитать все варианты совмещения на php? Добрый день. Подскажите, пожалуйста, как можно просчитать все варианты совмещения элементов массива?
Например, есть массив 1,2,3,4,5,6
Нужно чтобы прочитал варианты: 1,2; 1,3; ... ; 1,6 потом 1,2,3; 1,2,4; 1,2,5, потом 1,3,4; 1,3,6 и т.д.
Те все возможные вариации совмещения. Просто, даже не совсем догадываюсь как эту операцию обозвать можно.
p.s. варианты перестановки учитывать не нужно, т.е. 1,2,3 == 1,3,2 == 3,1,2

21 Авг 2019 в 06:04
158 +1
1
Ответы
1

Для просчета всех вариантов совмещения элементов массива можно воспользоваться рекурсивной функцией. Вот пример кода на PHP, который позволит вывести все возможные комбинации:

function combinations($arr, $n, $start = 0, $result = []) {
if ($n === 0) {
echo implode(',', $result) . PHP_EOL;
return;
}
for ($i = $start; $i <= count($arr) - $n; $i++) {
$result[] = $arr[$i];
combinations($arr, $n - 1, $i + 1, $result);
array_pop($result);
}
}
$array = [1, 2, 3, 4, 5, 6];
$length = count($array);
for ($i = 1; $i <= $length; $i++) {
combinations($array, $i);
}

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

20 Апр 2024 в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир