[php] php结合算法

WBOY
Lepaskan: 2016-06-13 12:43:40
asal
723 orang telah melayarinya

[php] php组合算法

<?php

function combination() {
    $array = array();
    $arguments = func_get_args();
    foreach ($arguments as $argument) {
        if (is_array($argument) === true) {
            $array[] = $argument;
        } else {
            $array[] = array($argument);
        }
    }

    $size = count($array);

    if ($size === 0) {
        return array();
    } else if ($size === 1) {
        return is_array($array[0]) === true ? $array[0] : array();
    } else {
        $result = array();
        $a = $array[0];
        array_shift($array);
        if (is_array($array) === false) {
            return $result;
        }

        foreach ($a as $val) {
            $b = call_user_func_array("combination", $array);
            foreach ($b as $c) {
                if (is_array($c) === true) {
                    $result[] = array_merge(array($val), $c);
                } else {
                    $result[] = array($val, $c);
                }
            }
        }
        return $result;
    }
}

echo '<pre class="brush:php;toolbar:false">';
print_r(combination(array("A1", "A2"), array("B1", "B2"), "1", array("C1", "C2", "C3")));
?>  
Salin selepas log masuk

?

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan