发布时间: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怎么对数组进行笛卡尔积运算就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。