`

php 合并一个二维数组相同项,数量则相加

    博客分类:
  • php
 
阅读更多
$arr = array(
    array(
       'user_id' => 100,
       'goods_id' => 10,
       'number' => 1,
    ),
    array(
       'user_id' => 100,
       'goods_id' => 10,
       'number' => 2,
    ),
    array(
       'user_id' => 100,
       'goods_id' => 10,
       'number' => 2,
    ),
    array(
       'user_id' => 100,
       'goods_id' => 10,
       'number' => 2,
    ),
);
理想结果:
$arr = array(
    array(
        'user_id'=> 100,
        'goods_id' => 10,
        'number' => 7,
    ),

);
 
$item=array();
foreach($arr as $k=>$v){
    if(!isset($item[$v['user_id']])){
        $item[$v['user_id']]=$v;
    }else{
        $item[$v['user_id']]['number']+=$v['number'];
    }
}
print_r($item);

分享到:
评论

相关推荐

    使用Excel两个一维数组构造二维数组.rar

    当我们要将两个一维数组A和B合并成一个二维数组C时,可以通过以下步骤操作: 1. **确定数组尺寸**:先确定两个一维数组的长度是否相等。在Excel中,两个一维数组进行运算时,它们的长度必须一致。如果长度不匹配,...

    二维数组计算矩阵相加

    在给定的代码中,我们看到一个C语言程序,用于实现两个二维数组(即矩阵)的相加操作。代码中包含了矩阵输入、矩阵相加以及结果输出三个主要部分。 1. **矩阵输入**: ```c for(i=0;i;i++) for(j=0;j;j++) ...

    两个二维数组相加,用成员函数重载运算符“+”和“-”

    首先,我们定义类`A`,它包含一个二维整型数组`a`,以及相应的成员函数: ```cpp #include using namespace std; class A { protected: int a[2][3]; public: // 默认构造函数 A() {} // 带参数的构造函数...

    labview一维数组转二维数组

    一维数组转二维数组

    C++一维数组二维数组写入txt,从txt中读取数据存到一维数组二维数组

    声明二维数组时,需要提供行数和列数,如 `int matrix[3][4]` 创建了一个3行4列的二维数组。 3. **指针**:在C++中,指针是存储内存地址的变量。可以使用指针来动态管理数组,特别是当数组大小在运行时确定时。例如...

    二维数组转一维数组

    将labview内二维数组方便的转化为一维数组使用

    易语言学习进阶二维数组赋值

    下面是一个简单的易语言二维数组赋值源码示例,它创建一个二维数组并填充1到9的数字: ```易语言 .整数型 数组名[3, 3] .循环(3) .循环(3) 数组名[循环索引1, 循环索引2] = 循环索引1 * 3 + 循环索引2 + 1 ...

    C++两个一维数组相加求和

    接下来,我们需要一个新数组`sum`来存储两个数组相加的结果。由于数组不能动态扩展,所以`sum`的长度应为`len1 + len2`,确保可以容纳所有元素。 在实现数组相加的过程中,我们使用两个独立的`for`循环。第一个循环...

    Q1064245.zip c#winform如何实现一维数组转二维数组并保存在某处

    一维数组可以看作是一条直线上的元素集合,而二维数组则可以理解为一个矩阵,它由多个一维数组组成,每个一维数组代表一行。在C#中,定义一维数组的语法如下: ```csharp int[] oneDimensionalArray = new int[5]; ...

    二维数组去除重复项

    在代码示例中,定义了一个名为`$array2D`的二维数组,其中包含了三行数据,但前两行数据完全相同。通过调用`unique_arr($array2D, true);`函数,并设置`$stkeep`参数为`true`,我们能够去除重复的行,并保留原始的键...

    C语言二维数组编程练习

    1. **数组初始化**:如何声明并初始化一个二维数组,包括静态初始化和动态分配内存。 2. **遍历数组**:使用for循环遍历二维数组的所有元素,进行简单的操作,如打印或计算。 3. **指针操作**:使用指针遍历数组,...

    C#实现对二维数组排序的方法

    方法内部首先检查`sortCol`是否在数组的列范围内,然后创建一个新的`DataTable`对象,并根据二维数组的第二维度(列)为每一列添加`DataColumn`。接着,将二维数组的数据逐行加载到`DataTable`中。完成数据加载后,...

    两个二维数组相加,用成员函数重载运算符(纠错版)

    用成员函数重载运算符“+”和“-”,将两个二维数组相加和相减。要求第一个二维数组的值由构造函数设置,另一个二维数组的值由键盘输入。

    读取二维数组所有数据_labview读取数组_

    在这里,你可以找到“创建数组”VI,它可以用来创建一个指定大小的二维数组。你需要提供行数和列数作为输入,然后默认填充0或者自定义初始值。 2. **连接数据源**: 如果二维数组数据来自外部源,如文件或硬件设备,...

    java 将一个二维数组存到txt文件里,然后再读取

    ### Java将一个二维数组存到TXT文件里,然后再读取 在Java编程中,经常会遇到需要将数据存储到文件中的需求。例如,在本例中,我们需要将一个二维数组中的数据写入到TXT文件中,然后再次从该TXT文件中读取这些数据...

    用C++二维数组做的两个矩阵相加 没有考虑任何条件

    代码中使用了动态内存分配来创建两个二维数组`firstTemp`和`secondTemp`,用于存储输入的矩阵数据,以及一个额外的二维数组`printTemp`用于存放两个矩阵相加的结果。动态内存分配是通过`new`关键字完成的,这使得...

    JNA调用C++动态库,传入二维数组,通过C++返回二维数组,java调用C++完整案例

    这里我们声明了一个名为`processArray`的函数,它接受一个二维整型数组作为输入,另一个二维整型数组作为输出,返回一个整型值。 接下来,加载C++动态库。在Java中,我们可以通过以下方式加载库: ```java MyDLL ...

    二维数组如何进行冒泡排序

    - 使用双层循环,从二维数组的每一个元素出发,将元素逐个添加到一维数组中。 - 示例代码片段: ```c int b[6]; // 定义一维数组 int k = 0; // 初始化计数器 for (int i = 0; i ; i++) { for (int j = 0; j ...

    C# json 一维数组 和 二维数组的转换

    C# json 一维数组 和 二维数组的转换 写的非常详细,对大家有帮助

Global site tag (gtag.js) - Google Analytics