php 求一个A(4,2)的所有组合?

比如有A,B,C三个字母,想要得到AB、AC、BA、BC、CA、CB。
但是ABC个数不定,请教算法高人,如何写一个函数得到所有情况的数组呢?

阅读 1.3k
1 个回答

诺代码仅针对An2模型其他模型有空写一个通用的

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]));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题