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

如何判断数组中Payment_type并按类型提取对应amount值

嘿,我来帮你搞定这个需求~你现在需要把数组里的金额按Payment_type分组,然后按指定格式输出对吧?你原来的foreach只是逐个判断输出,但没先做分组处理,所以没法先输出类型标题再列对应的金额。

这里给你一个可行的方案,分两步走:先把原数组按Payment_type分组,再遍历分组后的结果输出格式内容:

// 你的原始数据(如果是对象数组的话,把数组访问改成对象属性访问即可)
$data = [ 
    ["Payment_type" => 1, "amount" => 10000], 
    ["Payment_type" => 1, "amount" => 40000], 
    ["Payment_type" => 2, "amount" => 10000], 
    ["Payment_type" => 2, "amount" => 20000] 
];

// 第一步:按Payment_type分组,把同类型的amount归到一起
$groupedData = [];
foreach ($data as $item) {
    $type = $item['Payment_type'];
    // 如果当前类型还没创建数组,先初始化
    if (!isset($groupedData[$type])) {
        $groupedData[$type] = [];
    }
    $groupedData[$type][] = $item['amount'];
}

// 第二步:按要求格式输出
foreach ($groupedData as $type => $amounts) {
    // 输出类型标题
    echo "Payment type $type\n";
    // 输出每个金额,前面加---
    foreach ($amounts as $amount) {
        echo "---$amount\n";
    }
}

如果你的$data里的元素是对象(比如你原来代码里用$d->Payment_type),那只需要把代码里的$item['Payment_type']改成$item->Payment_type,$item['amount']改成$item->amount就可以了。

运行这段代码后,就能得到你期望的输出:

Payment type 1
---10000
---40000
Payment type 2
---10000
---20000

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:04:14