返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么实现数组的笛卡尔积
  • 684
分享到

php怎么实现数组的笛卡尔积

php笛卡尔积 2018-10-12 15:10:32 684人浏览 无得
摘要

本文操作环境:windows7系统,PHP7.4版,Dell G3电脑。php怎么实现数组的笛卡尔积?php实现数组的笛卡尔积运算示例数组的笛卡尔积在实际中还是挺有用处的,比如计算商品的规格时就经常用到,下面写一种实现方式,如下代码$arr

本文操作环境:windows7系统,PHP7.4版,Dell G3电脑。

php怎么实现数组的笛卡尔积?

php实现数组的笛卡尔积运算示例

数组的笛卡尔积在实际中还是挺有用处的,比如计算商品的规格时就经常用到,下面写一种实现方式,如下代码

$arr = array(
  array(2),
  array(6,7),
  array('a','b','c')
);
function dikaer($arr){
 $arr1 = array();
 $result = array_shift($arr);
 while($arr2 = array_shift($arr)){
  $arr1 = $result;
  $result = array();
  foreach($arr1 as $v){
   foreach($arr2 as $v2){
    if(!is_array($v))$v = array($v);
    if(!is_array($v2))$v2 = array($v2);
    $result[] = array_merge_recursive($v,$v2);
   }
  }
 }
 return $result;
}

以上例子输出的结果如下:

Array
(
  [0] => Array
    (
      [0] => 2
      [1] => 6
      [2] => a
    )
  [1] => Array
    (
      [0] => 2
      [1] => 6
      [2] => b
    )
  [2] => Array
    (
      [0] => 2
      [1] => 6
      [2] => c
    )
  [3] => Array
    (
      [0] => 2
      [1] => 7
      [2] => a
    )
  [4] => Array
    (
      [0] => 2
      [1] => 7
      [2] => b
    )
  [5] => Array
    (
      [0] => 2
      [1] => 7
      [2] => c
    )
)

如果需要输出字符串形式的结果可以把代码改成这样

function dikaer($arr){
 $arr1 = array();
 $result = array_shift($arr);
 while($arr2 = array_shift($arr)){
  $arr1 = $result;
  $result = array();
  foreach($arr1 as $v){
   foreach($arr2 as $v2){
    $result[] = $v.','.$v2;
   }
  }
 }
 return $result;
}

输出结果如下所示:

Array
(
  [0] => 2,6,a
  [1] => 2,6,b
  [2] => 2,6,c
  [3] => 2,7,a
  [4] => 2,7,b
  [5] => 2,7,c
)

--结束END--

本文标题: php怎么实现数组的笛卡尔积

本文链接: https://lsjlt.com/news/790.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php怎么实现数组的笛卡尔积
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php怎么实现数组的笛卡尔积PHP实现数组的笛卡尔积运算示例数组的笛卡尔积在实际中还是挺有用处的,比如计算商品的规格时就经常用到,下面写一种实现方式,如下代码$arr ...
    99+
    2018-10-12
    php 笛卡尔积
  • php如何实现数组的笛卡尔积
    这篇文章主要介绍“php如何实现数组的笛卡尔积”,在日常操作中,相信很多人在php如何实现数组的笛卡尔积问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何实现数组的笛卡尔积”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-21
  • JS笛卡尔积算法与多重数组笛卡尔积的示例分析
    这篇文章主要为大家展示了“JS笛卡尔积算法与多重数组笛卡尔积的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS笛卡尔积算法与多重数组笛卡尔积的示例分析...
    99+
    2024-04-02
  • sql怎么避免笛卡尔积
    避免笛卡尔积的方法有以下几种:1. 使用连接语句:可以使用INNER JOIN、LEFT JOIN、RIGHT JOIN等连接语句,...
    99+
    2023-10-07
    sql
  • sql的笛卡尔积现象怎么解决
    在SQL中,笛卡尔积现象指的是当两个表通过没有关联条件的JOIN操作时,会产生笛卡尔积,即返回的结果集包含了两个表的所有可能组合。这...
    99+
    2023-10-07
    sql
  • Java如何实现笛卡尔积算法
    小编给大家分享一下Java如何实现笛卡尔积算法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:笛卡尔积算法的Java实现:(1)循环内,每次只有一列向下移...
    99+
    2023-05-30
    java
  • SQL中笛卡尔积的实际应用
    目录1.概念2.sql笛卡尔积语法2.1 表1有2条数据2.2 表2有3条数据2.3 笛卡尔积有6条数据3.sql中的应用总结1.概念 百度百科: 笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian p...
    99+
    2023-03-02
    sql中笛卡尔积是什么 数据库笛卡尔积运算 sql笛卡尔乘积
  • sql笛卡尔积问题怎么解决
    SQL笛卡尔积问题可以通过使用连接操作符(如INNER JOIN、LEFT JOIN、RIGHT JOIN等)来解决。通过这些连接操...
    99+
    2024-03-06
    sql
  • mysql笛卡尔积的原理是什么
    MySQL笛卡尔积是指在没有任何连接条件的情况下,将两个表的每一行都与另一个表的每一行进行组合,生成一个新的结果集。这种操作会导致结...
    99+
    2024-04-09
    mysql
  • python如何实现两个列表的笛卡尔积
    这篇文章主要介绍了python如何实现两个列表的笛卡尔积,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。两个列表的笛卡尔积>>&g...
    99+
    2024-04-02
  • SQL中的笛卡尔积语法怎么应用
    今天小编给大家分享一下SQL中的笛卡尔积语法怎么应用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2023-03-07
    sql
  • mysql笛卡尔积优化的方法是什么
    MySQL中实现笛卡尔积优化的方法是通过使用合适的索引和限定条件来减少返回的行数和连接的表数量,以提高查询性能。以下是一些优化笛卡尔...
    99+
    2024-03-15
    mysql
  • sql笛卡尔积优化的方法是什么
    SQL笛卡尔积(Cartesian Product)是指两个表的所有可能的组合。当两个表没有关联条件时,数据库系统会对这两个表进行笛...
    99+
    2024-04-09
    sql
  • Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
    本文实例讲述了Python2.7基于笛卡尔积算法实现N个数组的排列组合运算。分享给大家供大家参考,具体如下: 说明:本人前段时间遇到的求n个数组的所有排列组合的问题,发现笛卡尔积算法可以解决,但是网上搜索的...
    99+
    2022-06-04
    笛卡尔 数组 示例
  • SQL查询中出现笛卡尔积现象的解决方法
    目录一、 笛卡尔积二、笛卡尔积在sql中是这样的三、解决办法一、 笛卡尔积 笛卡尔积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成...
    99+
    2023-05-26
    SQL笛卡尔积
  • php二维数组怎么求积
    求积步骤:1、定义一个变量并赋值1,语法“$cj=1;”;2、用foreach循环遍历外层数组元素,语法“foreach($arr as $v){//循环体代码}”;3、循环体中,用is_array()、array_product()和“*...
    99+
    2024-04-02
  • python怎么实现卡尔曼滤波数据处理
    这篇文章主要介绍“python怎么实现卡尔曼滤波数据处理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python怎么实现卡尔曼滤波数据处理”文章能帮助大家解决问题。什么是卡尔曼滤波先看看百度百科解...
    99+
    2023-06-30
  • php中数组array怎么求乘积
    PHP数组求乘积的两种方法:1、使用foreach语句循环遍历数组,然后在循环体中利用“*”运算符将数组元素一个个相乘,语法“$f=1;foreach($array as $v){$f*=$v;}”。2、使用array_product()函...
    99+
    2022-06-27
    php php数组
  • 怎么用php实现圆的面积
    本篇内容介绍了“怎么用php实现圆的面积”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为了计算圆的面积,我们需要使用以下公式:面积=π×r²...
    99+
    2023-07-06
  • Java怎么实现克鲁斯卡尔算法
    今天小编给大家分享一下Java怎么实现克鲁斯卡尔算法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。克鲁斯卡尔算法克鲁斯卡尔算...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作