PHP笛卡尔积实现算法示例
本文实例讲述了PHP笛卡尔积实现算法。分享给大家供大家参考,具体如下:
1){ foreach($stras$k=>$val){ foreach($firstas$key=>$value){ //最终实现的格式1,3,76 //可根据具体需求进行变更 $str2[]=$val.','.$value; } } }else{ foreach($firstas$key=>$value){ //最终实现的格式1,3,76 //可根据具体需求进行变更 $str2[]=$value; } } //递归进行拼接 if(count($arr)>0){ $str2=cartesian($arr,$str2); } //返回最终笛卡尔积 return$str2; } $cartesian_product=cartesian($arr); print_r($cartesian_product); ?>
最终输出格式
Array
(
[0]=>1,3,76
[1]=>1,3,6
[2]=>1,3,1
[3]=>1,3,0
[4]=>1,5,76
[5]=>1,5,6
[6]=>1,5,1
[7]=>1,5,0
[8]=>1,7,76
[9]=>1,7,6
[10]=>1,7,1
[11]=>1,7,0
[12]=>1,9,76
[13]=>1,9,6
[14]=>1,9,1
[15]=>1,9,0
[16]=>3,3,76
[17]=>3,3,6
[18]=>3,3,1
[19]=>3,3,0
[20]=>3,5,76
[21]=>3,5,6
[22]=>3,5,1
[23]=>3,5,0
[24]=>3,7,76
[25]=>3,7,6
[26]=>3,7,1
[27]=>3,7,0
[28]=>3,9,76
[29]=>3,9,6
[30]=>3,9,1
[31]=>3,9,0
[32]=>4,3,76
[33]=>4,3,6
[34]=>4,3,1
[35]=>4,3,0
[36]=>4,5,76
[37]=>4,5,6
[38]=>4,5,1
[39]=>4,5,0
[40]=>4,7,76
[41]=>4,7,6
[42]=>4,7,1
[43]=>4,7,0
[44]=>4,9,76
[45]=>4,9,6
[46]=>4,9,1
[47]=>4,9,0
[48]=>5,3,76
[49]=>5,3,6
[50]=>5,3,1
[51]=>5,3,0
[52]=>5,5,76
[53]=>5,5,6
[54]=>5,5,1
[55]=>5,5,0
[56]=>5,7,76
[57]=>5,7,6
[58]=>5,7,1
[59]=>5,7,0
[60]=>5,9,76
[61]=>5,9,6
[62]=>5,9,1
[63]=>5,9,0
)
小编这里参考前面一篇《JavaScript笛卡尔积超简单实现算法》,给出一个php计算笛卡尔积的超简单算法示例如下:
运行结果:
Array
(
[0]=>1,a
[1]=>1,b
[2]=>1,c
[3]=>2,a
[4]=>2,b
[5]=>2,c
[6]=>3,a
[7]=>3,b
[8]=>3,c
)
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》及《php程序设计算法总结》
希望本文所述对大家PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。