【问题标题】:Permutation with two array in PHP [duplicate]PHP中两个数组的排列[重复]
【发布时间】:2015-01-28 09:32:23
【问题描述】:

我有 100 个名字和 100 个姓氏的列表。 我想使用所有组合的混合而不重复。 您对此有一些数学解决方案吗?

【问题讨论】:

标签: php arrays sorting math


【解决方案1】:

这被称为“笛卡尔积”,数组http://php.net/manual/en/ref.array.php 上的 php 手册页显示了一些实现(在 cmets 中)。

还有一个:

function array_cartesian() {
    $_ = func_get_args();
    if(count($_) == 0)
        return array(array());
    $a = array_shift($_);
    $c = call_user_func_array(__FUNCTION__, $_);
    $r = array();
    foreach($a as $v)
        foreach($c as $p)
            $r[] = array_merge(array($v), $p);
    return $r;
}

$cross = array_cartesian(
    array('A', 'B', 'C'),
    array('1', '2')
);

print_r($cross);

【讨论】:

    猜你喜欢
    • 2022-10-13
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2015-04-03
    • 1970-01-01
    相关资源
    最近更新 更多