PHP Permutation 3个数组中的3个元素,具有独特的组合

时间:2015-01-21 06:17:33

标签: php arrays

有人可以帮我找到这个代码中的错误,它只生成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代码都可以。谢谢!

0 个答案:

没有答案