您好,欢迎访问一九零五行业门户网

把$input_arr进行组合操作,并返回一个包含所有组合的数组

数组
=$c_num)
  {
   break;
  }
 }
 return $new_arr;
}
/**
 *描述:获得组合(请参阅初等数学的排列与组合)个数
 *参数:$m 组合的单元数,$n 单元总数
 *作者:surfchen@gmail.com
 *版权:任意复制,修改所有内容.
**/
function getcnum($m,$n)
{
 $store_m=$m;
 $store_n=$n;
 $dividend=1;
 for ($m;$m>1;$m--)
 {
  $dividend*=$m;
 }
 $divisor=1;
 for ($n;$n>=($store_n-$store_m+1);$n--)
 {
  $divisor*=$n;
 }
 return $divisor/$dividend;
}
/**
 *描述:把$input_arr进行组合操作,并返回一个包含所有组合的数组
 *参数:$input_arr 操作对象,$delimit 组合的分割符号,$n_arr 为一个数组,其值范围必须在从1到count($input_arr)之间
 *作者:surfchen@gmail.com
 *版权:任意复制,修改所有内容.
**/
function getmulticomb($input_arr,$delimit,$n_arr)
{
 $return_arr=array();
 foreach ($n_arr as $value)
 {
  $return_arr=array_merge($return_arr,getsinglecomb($input_arr,$delimit,$value));
 }
 return $return_arr;
}
$input_arr=explode( ,'sina sohu yahoo baidu 163');
print_r(getmulticomb($input_arr, ,array(1,2,3,4)));
?>
其它类似信息

推荐信息