鍍金池/ 問答/PHP  網(wǎng)絡(luò)安全/ php 求一個(gè)A(4,2)的所有組合?

php 求一個(gè)A(4,2)的所有組合?

比如有A,B,C三個(gè)字母,想要得到AB、AC、BA、BC、CA、CB。
但是ABC個(gè)數(shù)不定,請(qǐng)教算法高人,如何寫一個(gè)函數(shù)得到所有情況的數(shù)組呢?

回答
編輯回答
入她眼

諾代碼僅針對(duì)An2模型其他模型有空寫一個(gè)通用的

function An2(array $arr)
{
    $out = [];
    for ($i = 0; $i < count($arr) - 1; $i ++) {
        for ($j = $i + 1; $j < count($arr); $j++) {
            $out[] = [$arr[$i], $arr[$j]];
            $out[] = [$arr[$j], $arr[$i]];
        }
    }
    return $out;
}

print_r(An2([1,2]));
2018年7月14日 11:23