PHP使用唯一组合从4的数组中排列3个元素

PHP使用唯一组合从4的数组中排列3个元素,php,arrays,Php,Arrays,somenone能帮我找出这段代码中的错误吗?它只会生成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) { $newitem

somenone能帮我找出这段代码中的错误吗?它只会生成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个元素中输出3个元素的组合(例如,('123','312','124')('123','124','555')…等等)

请不要将此标记为重复,因为另一个线程只有一个置换,但不满足我的条件


PHP或Javascript代码就可以了。谢谢!

不,我需要的答案是我的代码错误的部分。哇!你确定要进行置换?还是只编辑简单的片段?我只需要从这个数组中输出一个长度为3的唯一组合。@PaulCrovella如果你能提供一个与我的不同的答案,那就更好了code@PaulCrovella我需要从包含4个元素的数组中生成3个组合的输出。所有组合都应该是唯一的。该代码从4个元素的数组中生成4个组合。尝试运行该代码,您将看到。