PHP中笛卡尔积的实现原理是什么

  介绍

这篇文章将为大家详细讲解有关PHP中笛卡尔积的实现原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

笛卡尔积是指在数学中,两个集合X和Y的笛卡尔积(笛卡儿积),又称直积,表示为X * Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。

假设集合={A、b},集合b={0 1 2},则两个集合的笛卡尔积为{(A, 0)、(A, 1), (, 2), (b, 0)、(b, 1), (b) 2)}

<强>实现思路

先计算第一个集合和第二个集合的笛卡尔积,把结果保存为一个新集合。
然后再用新集合与下一个集合计算笛卡尔积,依此循环直到与最后一个集合计算笛卡尔积。

例如有以下几个集合,需要计算笛卡尔积

& lt;及# 63;PHP
$集=数组(
数组(& # 39;白色& # 39;,& # 39;黑色& # 39;,& # 39;红色& # 39;),
数组(& # 39;透气& # 39;,& # 39;防滑& # 39;),
数组(& # 39;37码& # 39;,& # 39;38码& # 39;,& # 39;39码& # 39;),
数组(& # 39;男款& # 39;,& # 39;女款& # 39;)
);
, # 63;在

代码如下:

& lt;及# 63;PHP/* *   * php计算多个集合的笛卡尔积   *日期:2017-01-10   *作者:fdipzone   *版本:1.0   *   *函数   * CartesianProduct计算多个集合的笛卡尔积   *//* *   *计算多个集合的笛卡尔积   * @param数组$集集合数组   * @return数组   */函数CartesianProduct(集){//保存结果   $=结果数组();//循环遍历集合数据   (i=0美元,美元数=count($集);i<把1美元;$我+ +){//初始化   if ($ i==0) {   结果=美元集($ i);   }//保存临时数据   数组$ tmp=();//结果与下一个集合计算笛卡尔积   结果美元foreach (res) {   foreach(美元($ i + 1]美元集){   tmp美元[]=>设置美元;   }   }//将笛卡尔积写入结果   $=$ tmp结果;      }      返回结果美元;      }//定义集合   $集=阵列(   数组(& # 39;白色& # 39;,& # 39;黑色& # 39;,& # 39;红色& # 39;),   数组(& # 39;透气& # 39;,& # 39;防滑& # 39;),   阵列(& # 39;37码& # 39;,& # 39;38码& # 39;,& # 39;39码& # 39;),   数组(& # 39;男款& # 39;,& # 39;女款& # 39;)   );      结果=CartesianProduct美元(美元);   print_r(结果);      ,# 63;在

输出:

数组   (   [0]=比;白色透气37码男款   [1]=比;白色透气37码女款   [2]=比;白色透气38码男款   [3]=比;白色透气38码女款   [4]=比;白色透气39码男款   [5]=比;白色透气39码女款   [6]=比;白色防滑37码男款   [7]=比;白色防滑37码女款   [8]=比;白色防滑38码男款   [9]=比;白色防滑38码女款   [10]=比;白色防滑39码男款   [11]=比;白色防滑39码女款   [12]=比;黑色透气37码男款   [13]=比;黑色透气37码女款   [14]=比;黑色透气38码男款   [15]=比;黑色透气38码女款   [16]=比;黑色透气39码男款   [17]=比;黑色透气39码女款   [18]=比;黑色防滑37码男款   [19]=比;黑色防滑37码女款   [20]=比;黑色防滑38码男款   [21]=比;黑色防滑38码女款   [22]=比;黑色防滑39码男款   [23]=比;黑色防滑39码女款   [24]=比;红色透气37码男款   [25]=比;红色透气37码女款   [26]=比;红色透气38码男款   [27]=比;红色透气38码女款   [28]=比;红色透气39码男款   [29]=比;红色透气39码女款   [30]=比;红色防滑37码男款   [31]=比;红色防滑37码女款   [32]=比;红色防滑38码男款   [33]=比;红色防滑38码女款   [34]=比;红色防滑39码男款   [35]=比;红色防滑39码女款   )

关于PHP中笛卡尔积的实现原理是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

PHP中笛卡尔积的实现原理是什么