You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel如何从嵌套JSON提取特定数值并计算总和

提取PHP序列化字符串中的数值并计算总和

问题场景

你有一个嵌套JSON结构,其中包含PHP序列化字符串,已经通过unserialize将其转换为结构化数组,现在需要提取所有数值并计算总和。

原始嵌套JSON(含序列化字符串):

[
    [
        [
            "a:1:{s:3:\"ALL\";d:100;}",
            "a:1:{s:3:\"ALL\";d:200;}",
            "a:1:{s:3:\"ALL\";d:89;}"
        ],
        [
            "a:1:{s:3:\"USD\";d:100;}"
        ],
        [
            "a:2:{s:3:\"ALL\";d:300;s:3:\"USD\";d:250;}"
        ],
        [
            "a:1:{s:3:\"ALL\";d:30;}",
            "a:2:{s:3:\"ALL\";d:100;s:3:\"USD\";d:200;}"
        ],
        [
            "a:1:{s:3:\"USD\";d:200;}"
        ]
    ]
]

反序列化后的结构化数组:

[
    [
        [
            ["ALL" => 100],
            ["ALL" => 200],
            ["ALL" => 89]
        ],
        [
            ["USD" => 100]
        ],
        [
            ["ALL" => 300, "USD" => 250]
        ],
        [
            ["ALL" => 30],
            ["ALL" => 100, "USD" => 200]
        ],
        [
            ["USD" => 200]
        ]
    ]
]

实现方法

通过多层循环遍历嵌套数组,提取每个子数组中的所有数值并累加计算总和,以下是PHP代码示例:

// 假设$structuredArray是反序列化后的结构化数组
$structuredArray = [
    [
        [
            ["ALL" => 100],
            ["ALL" => 200],
            ["ALL" => 89]
        ],
        [
            ["USD" => 100]
        ],
        [
            ["ALL" => 300, "USD" => 250]
        ],
        [
            ["ALL" => 30],
            ["ALL" => 100, "USD" => 200]
        ],
        [
            ["USD" => 200]
        ]
    ]
];

$total = 0;

// 遍历最外层数组
foreach ($structuredArray as $level1) {
    // 遍历二级嵌套数组
    foreach ($level1 as $level2) {
        // 遍历每个包含键值对的子数组
        foreach ($level2 as $item) {
            // 提取当前子数组的所有数值并累加
            foreach ($item as $value) {
                $total += $value;
            }
        }
    }
}

echo "总和:" . $total; // 输出结果:总和:1569

代码说明

  • 多层循环对应数组的嵌套层级,确保遍历到每一个包含数值的子元素
  • 每一层foreach都针对对应层级的数组结构,最后提取键值对中的数值完成累加
  • 如果后续数组嵌套层级发生变化,只需调整循环层数即可适配

内容的提问来源于stack exchange,提问作者laraCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:45:38