有一个数组,如果有3个值:array(3,2,6)。交叉组合后返回:3-2,3-6,2-6,3-2-6
有一个数组,如果有4个值:array(3,2,6,9)。交叉组合后返回:3-2,3-6,3-9,2-6,2-9,6-9,3-2-6,3-2-9,2-6-9,3-2-6-9
5个值,6个值以此类推
$array = array(1, 2, 3, 4, 5, 6);
$len = count($array);
$data = array();
for($prefixLength = 1; $prefixLength < $len; $prefixLength++){
for($i = 0; $i < $len - 1; $i++){
$prefixArray = array_slice($array, $i, $prefixLength);
$prefix = implode('-', $prefixArray);
for($j = $i + $prefixLength; $j < $len; $j++){
$data[] = $prefix .'-'. $array[$j];
}
}
}
print_r($data);
网友评论