PHP基于自定义函数生成笛卡尔积的方法示例


Posted in PHP onSeptember 30, 2017

本文实例讲述了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
    )
)

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.3water.com/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.3water.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.3water.com/jisuanqi/jsq

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 简单数组排序实现代码
Aug 05 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
批量去除PHP文件中bom的PHP代码
Mar 13 PHP
php开发文档 会员收费1期
Aug 14 PHP
ThinkPHP CURD方法之data方法详解
Jun 18 PHP
php+mysql数据库实现无限分类的方法
Dec 12 PHP
通过php删除xml文档内容的方法
Jan 23 PHP
Zend Framework框架路由机制代码分析
Mar 22 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
php使用curl下载指定大小的文件实例代码
Sep 30 #PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
Sep 29 #PHP
PHP 获取 ping 时间的实现方法
Sep 29 #PHP
使用PHP+MySql实现微信投票功能实例代码
Sep 29 #PHP
PHP使用PDO访问oracle数据库的步骤详解
Sep 29 #PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 #PHP
WHOOPS PHP调试库的使用
Sep 29 #PHP
You might like
PHP insert语法详解
2008/06/07 PHP
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
js继承实现方法详解
2016/12/16 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
BootStrap 导航条实例代码
2017/05/18 Javascript
JS实现新建文件夹功能
2017/06/17 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
pymssql ntext字段调用问题解决方法
2008/12/17 Python
Python的类实例属性访问规则探讨
2015/01/30 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
python的pdb调试命令的命令整理及实例
2017/07/12 Python
Python实现分段线性插值
2018/12/17 Python
python 6种方法实现单例模式
2020/12/15 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
党委书记岗位职责
2013/11/24 职场文书
饮料业务员岗位职责
2013/12/15 职场文书
致跳远、跳高运动员广播稿
2014/01/09 职场文书
教师个人鉴定材料
2014/02/08 职场文书
办公自动化专业大学生职业规划书
2014/03/06 职场文书
公司承诺书范文
2014/05/19 职场文书
财产保全担保书
2015/01/20 职场文书
活动总结模板大全
2015/05/11 职场文书
大学毕业典礼致辞
2015/07/29 职场文书