笛卡尔积运算(使用PHP怎么对数组进行笛卡尔积运算)

发布时间:2025-12-10 22:47:48 浏览次数:1

$arr=array(array(2),array(6,7),array('a','b','c'));functiondikaer($arr){$arr1=array();$result=array_shift($arr);while($arr2=array_shift($arr)){$arr1=$result;$result=array();foreach($arr1as$v){foreach($arr2as$v2){if(!is_array($v))$v=array($v);if(!is_array($v2))$v2=array($v2);$result[]=array_merge_recursive($v,$v2);}}}return$result;}
Array([0]=>Array([0]=>2[1]=>6[2]=>a)[1]=>Array([0]=>2[1]=>6[2]=>b)[2]=>Array([0]=>2[1]=>6[2]=>c)[3]=>Array([0]=>2[1]=>7[2]=>a)[4]=>Array([0]=>2[1]=>7[2]=>b)[5]=>Array([0]=>2[1]=>7[2]=>c))

如果需要输出字符串形式的结果可以把代码改成这样

functiondikaer($arr){$arr1=array();$result=array_shift($arr);while($arr2=array_shift($arr)){$arr1=$result;$result=array();foreach($arr1as$v){foreach($arr2as$v2){$result[]=$v.','.$v2;}}}return$result;}

输出结果如下所示:

Array([0]=>2,6,a[1]=>2,6,b[2]=>2,6,c[3]=>2,7,a[4]=>2,7,b[5]=>2,7,c)

关于使用PHP怎么对数组进行笛卡尔积运算就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

笛卡尔积运算
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477