PHP基于自定义函数生成笛卡尔积的方法示例
发布:smiling 来源: PHP粉丝网 添加日期:2021-08-11 13:28:23 浏览: 评论:0
这篇文章主要介绍了PHP基于自定义函数生成笛卡尔积的方法,结合具体实例形式分析了php使用数组运算模拟集合实现笛卡尔积运算的相关操作技巧,需要的朋友可以参考下。
本文实例讲述了PHP基于自定义函数生成笛卡尔积的方法,分享给大家供大家参考,具体如下:
- <?php
- $color = array('red', 'green');
- $size = array(39, 40, 41);
- $local = array('beijing', 'shanghai');
- echo "<pre>";
- print_r(combineDika($color, $size, $local));
- /**
- * 所有数组的笛卡尔积
- *
- * @param unknown_type $data
- */
- function combineDika() {
- $data = func_get_args();
- $cnt = count($data);
- $result = array();
- foreach($data[0] as $item) {
- $result[] = array($item);
- }
- for($i = 1; $i < $cnt; $i++) {
- $result = combineArray($result,$data[$i]);
- }
- return $result;
- }
- /**
- * 两个数组的笛卡尔积
- *
- * @param unknown_type $arr1
- * @param unknown_type $arr2
- */
- function combineArray($arr1,$arr2) {
- $result = array();
- foreach ($arr1 as $item1) {
- foreach ($arr2 as $item2) {
- $temp = $item1;
- $temp[] = $item2;
- $result[] = $temp;
- }
- }
- return $result;
- }
- ?>
运行结果:
- Array
- (
- [0] => Array
- (
- [0] => red
- [1] => 39
- [2] => beijing
- )
- [1] => Array
- (
- [0] => red
- [1] => 39
- [2] => shanghai
- )
- [2] => Array
- (
- [0] => red
- [1] => 40
- [2] => beijing
- )
- [3] => Array
- (
- [0] => red
- [1] => 40
- [2] => shanghai
- )
- [4] => Array
- (
- [0] => red
- [1] => 41
- [2] => beijing
- )
- [5] => Array
- (
- [0] => red
- [1] => 41
- [2] => shanghai
- )
- [6] => Array
- (
- [0] => green
- [1] => 39
- [2] => beijing
- )
- [7] => Array
- (
- [0] => green
- [1] => 39
- [2] => shanghai
- )
- [8] => Array
- (
- [0] => green
- [1] => 40
- [2] => beijing
- )
- [9] => Array
- (
- [0] => green
- [1] => 40
- [2] => shanghai
- )
- [10] => Array
- (
- [0] => green
- [1] => 41
- [2] => beijing
- )
- [11] => Array
- (
- [0] => green
- [1] => 41
- [2] => shanghai
- )
- )
Tags: PHP生成笛卡尔积
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)