gpt4 book ai didi

php - N 数组的笛卡尔积

转载 作者:IT王子 更新时间:2023-10-29 00:02:19 25 4
gpt4 key购买 nike

我有一个类似于这个例子的 PHP 数组:

$array[0][0] = 'apples';
$array[0][1] = 'pears';
$array[0][2] = 'oranges';

$array[1][0] = 'steve';
$array[1][1] = 'bob';

我希望能够从这个表格中生成一个包含这些所有可能组合的表格,但不重复任何组合(无论它们的位置如何),因此例如这将输出

Array 0            Array 1
apples steve
apples bob
pears steve
pears bob

但我希望它能够处理尽可能多的不同数组。

最佳答案

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

还有一个:

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('apples', 'pears', 'oranges'),
array('steve', 'bob')
);

print_r($cross);

关于php - N 数组的笛卡尔积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2516599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com