【问题标题】:How to get values of array element from key [duplicate]如何从键中获取数组元素的值[重复]
【发布时间】:2019-12-09 10:18:47
【问题描述】:

下面是我的数组

Array(
[id] => 1
[user_id] => 30
[list] => Array
    (
        [0] => Array
            (
                [id] => 1
                [card_id] => 6
                [amount] => 400
            )

        [1] => Array
            (
                [id] => 2
                [card_id] => 3
                [amount] => 500
            )

    )
)

从上面的数组中,我想获取 amount 键的值,该键位于 list 键中。 我想将该值存储在一个变量中。 P.S:在 list 数组中它将有多个数组

编辑: 输出中应该有所有金额的总和。 例如,从上面的数组总和将是 900 是$total_amount = 900

【问题讨论】:

  • 你应该提供预期的输出
  • 感谢您的评论。请查看我已编辑的问题。
  • 您应该尽自己最大的努力,这样我们才能帮助您自助
  • 请注意,您需要自己尝试达到您想要的结果。如果您还没有这样做,请花一些时间现在这样做。如果您有,请在您的问题中包含您的尝试,以及结果以及它与您想要的结果有何不同。
  • 感谢大家提供宝贵的 cmets,以后如果我有任何问题,我会发布我尝试过的代码,我也认为它不应该是重复的问题。

标签: php multidimensional-array array-key


【解决方案1】:

一个带有array_column 和array_sum 的班轮;

echo array_sum(array_column($array["list"], 'amount')); // 900

在线查看:https://3v4l.org/EsvJO

【讨论】:

  • 这只是一行代码,我尝试了许多其他解决方案。谢谢你的回答。
【解决方案2】:

这就是你想要的,简单的 foreach:

$array = [
"id" => 1,
"user_id" => 30,
"list" => [
            [
                "id" => 1,
                "card_id" => 6,
                "amount" => 400,
            ],

        [

                "id" => 2,
                "card_id" => 3,
                "amount" => 500,
        ]

    ]
];

$totalAmount = 0;

foreach ($array["list"] as $array){
  $totalAmount += $array["amount"];
}

var_dump($totalAmount);

结果:900

【讨论】:

  • 感谢您的回答。它提供了我想要的输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-04
  • 2021-09-23
  • 2011-11-01
  • 2011-11-14
  • 1970-01-01
  • 2019-08-21
  • 1970-01-01
相关资源
最近更新 更多