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生成EXCEL的东东
Oct 09 PHP
一个好用的分页函数
Nov 16 PHP
php 在线打包_支持子目录
Jun 28 PHP
PHP 反射机制实现动态代理的代码
Oct 22 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
在smarty模板中使用PHP函数的方法
Apr 23 PHP
php图片处理函数获取类型及扩展名实例
Nov 19 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
PHP的AES加密算法完整实例
Jul 20 PHP
浅谈PHP中的错误处理和异常处理
Feb 04 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
详解PHP中curl_multi并发的实现
Jun 08 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
索尼SONY SRF-S83/84电路分析和打磨
2021/03/02 无线电
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
2018/03/12 Javascript
p5.js入门教程之图片加载
2018/03/20 Javascript
微信小程序实现点击空白隐藏的方法示例
2019/08/13 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
Python实现图片转字符画的示例代码
2017/08/21 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
国庆节文艺活动方案
2014/02/03 职场文书
诉前财产保全担保书
2014/05/20 职场文书
销售内勤岗位职责
2015/02/10 职场文书
2016中秋节广告语
2016/01/28 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
部分武汉产收音机展览
2022/04/07 无线电