php - 将数组列表与数组中的下一个列表进行比较

标签 php arrays multidimensional-array

我想将列表与其他列表进行比较,以便合并它们的编号(id_article)是否相同。 在我的示例中,我想获得最终的数组列表:

*最终*

Array
(
    [0] => Array
        (
            [id_article] => 1
            [quantite] => 5
        )

    [1] => Array
        (
            [id_article] => 3
            [quantite] => 1
        )

}

初始

Array
(
    [0] => Array
        (
            [id_article] => 1
            [quantite] => 2
        )

    [1] => Array
        (
            [id_article] => 1
            [quantite] => 3
        )

    [2] => Array
        (
            [id_article] => 3
            [quantite] => 1
        )

)

我尝试使用 next() 和 current() 但在这种情况下不起作用。

提前感谢您的帮助、建议或其他示例。

最佳答案

你必须做一些循环工作:

$result = array();
foreach ($array as $value) {
    if (isset($result[$value['id_article']])) {
         $result[$value['id_article']] += $value['quantite'];
    } else {
         $result[$value['id_article']] = $value['quantite'];
    }  
}

$output = array();
foreach ($result as $id => $value) {
   $output[] = array('id_article' => $id, 'quantite' => $value);
}

关于php - 将数组列表与数组中的下一个列表进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22091203/

相关文章:

php - symfony symfony 演示

numpy - 散点图 (2D),显示由 ipython、numpy 和 matplotlib 的几何函数绘制的虚线圆和其他 2D 形状

java - 无法解密 MD5 哈希字节数组

Perl:多维哈希

javascript - 多维数组替换为近距离Javascript

php, mysqli-stmt.bind-param] : Number of elements in type definition string doesn't match number of bind variables

php - 是否可以对 MySQL 进行混合覆盖/追加批量写入?

php - SQLi 代码未使用用户 ID 插入正确的行

c# - C# 新手,无法创建多维数组

arrays - 在 O(nlogn) 时间内使用分而治之从数组中删除重复项