用php从json数组中提取值

时间:2016-08-29 06:38:01

标签: php arrays json

我的购物车将json_encode数组中的订单输入到数据库中。是否有可能从这个数组中提取总价格..如果有4个产品我想提取所有五个价格的总和?

以下是数组的示例

{"73":{
     "title":"Test",
     "description":"",
     "quantity":1,
     "image":"",
     "price":90},
  "66":{
     "title":"Title",
     "description":"",
     "quantity":1,
     "image":"",
     "price":80},
  "shipping":{"
         quantity":1,
         "image":"",
         "description":"",
         "title":"Free Delivery",
         "price":0
  }
}

我想提取所有price字段,并在页面上显示它们的总和。

编辑:这是我得到的数组

Array
(
    [7] => Array
    (
        [title] => Test
        [description] => Test
        [quantity] => 1
        [image] => 
        [price] => 2
    )

    [6] => Array
    (
        [title] => Test
        [description] => Test
        [quantity] => 1
        [image] => 
        [price] => 12
    )

    [shipping] => Array
    (
        [quantity] => 1
        [image] => 
        [description] => 
        [title] => 
        [price] => 51
    )

)

2 个答案:

答案 0 :(得分:1)

  

这是 JSON 。首先需要将其转换为数组

     

然后,你   可以使用数组函数array_column() 来检索所有“价格”   值并应用array_sum()来计算此数组的总价格。

// Assuming $data is the JSON.

$data  = json_decode($data, true); 
$price = array_sum(array_column($data, "price"));

答案 1 :(得分:1)

首先,您的json数据无效

但我给出了步骤。如何总结价格

1)首先将json解码为数组

2)然后通过array_column函数

提取price列

3)然后使用array_sum函数

对其求和
<?php $data =json_decode($json_variable,true);echo "<pre/>";print_r($data);

$price = array_column($data, "price"); 

echo $total_amount = array_sum($price);