有人可以帮我找到这个代码中的错误,它只生成3个元素组合而不是4个。
function pc_permute($items, $perms = array( )) {
$back = array();
if (empty($items)) {
$back[] = join(' ', $perms);
} else {
for ($i = count($items) - 1; $i >= 0; --$i) {
$newitems = $items;
$newperms = $perms;
list($foo) = array_splice($newitems, $i, 1);
array_unshift($newperms, $foo);
$back = array_merge($back, pc_permute($newitems, $newperms));
}
}
return $back;
}
var_dump(pc_permute(array('123','124','312','555')));
此代码输出这4个数组元素的组合。(例如('123',312','124','555') 我需要的是输出4个元素的组合(例如('123','312','124')('123','124,'555')......等等
请不要将此标记为重复,因为其他主题只有排列但不符合我的条件。
PHP或Javascript代码都可以。谢谢!