Php 从JSON数据中提取值

Php 从JSON数据中提取值,php,arrays,json,Php,Arrays,Json,我有下面给出的JSON数据。“作物”数组包含作物价格的多个数组,我想得到所有地区的平均作物价格(使用“地区id”) { “状态”:“确定”, “计数”:7, “作物”:[ { “id”:“133”, “作物id”:“81”, “价格”:“45.00”, “描述”:空, “用户id”:“27”, “块id”:“1”, “经度”:“87.8661808”, “纬度”:“23.2340073”, “日期”:“2014-02-03”, “时间”:“12:44:43”, “地区识别号”:“1” }, {

我有下面给出的JSON数据。“作物”数组包含作物价格的多个数组,我想得到所有地区的平均作物价格(使用“地区id”)

{
“状态”:“确定”,
“计数”:7,
“作物”:[
{
“id”:“133”,
“作物id”:“81”,
“价格”:“45.00”,
“描述”:空,
“用户id”:“27”,
“块id”:“1”,
“经度”:“87.8661808”,
“纬度”:“23.2340073”,
“日期”:“2014-02-03”,
“时间”:“12:44:43”,
“地区识别号”:“1”
},
{
“id”:“135”,
“作物id”:“81”,
“价格”:“10.50”,
“描述”:空,
“用户id”:“27”,
“块id”:“1”,
“经度”:“87.8662402”,
“纬度”:“23.2339822”,
“日期”:“2014-02-03”,
“时间”:“12:44:54”,
“地区识别号”:“1”
},
{
“id”:“143”,
“作物id”:“81”,
“价格”:“35”,
“描述”:空,
“用户id”:“27”,
“块id”:“1”,
“经度”:“0.0”,
“纬度”:“0.0”,
“日期”:“2014-02-03”,
“时间”:“13:12:50”,
“地区识别号”:“1”
},
{
“id”:“146”,
“作物id”:“81”,
“价格”:“85”,
“描述”:空,
“用户id”:“27”,
“块id”:“1”,
“经度”:“0.0”,
“纬度”:“0.0”,
“日期”:“2014-02-03”,
“时间”:“14:29:07”,
“地区识别号”:“1”
},
{
“id”:“148”,
“作物id”:“81”,
“价格”:“25”,
“描述”:空,
“用户id”:“27”,
“块id”:“1”,
“经度”:“0.0”,
“纬度”:“0.0”,
“日期”:“2014-02-03”,
“时间”:“14:58:01”,
“地区识别号”:“1”
},
{
“id”:“132”,
“作物id”:“81”,
“价格”:“10”,
“描述”:空,
“用户id”:“119”,
“区块id”:“34”,
“经度”:“0.0”,
“纬度”:“0.0”,
“日期”:“2014-02-03”,
“时间”:“12:41:49”,
“地区识别号”:“4”
},
{
“id”:“134”,
“作物id”:“81”,
“价格”:“12”,
“描述”:空,
“用户id”:“119”,
“区块id”:“34”,
“经度”:“0.0”,
“纬度”:“0.0”,
“日期”:“2014-02-03”,
“时间”:“12:43:50”,
“地区识别号”:“4”
}
]
}

使用
json\u decode
方法将其转换为
std\u类
,或使用此方法的第二个参数将其转换为关联数组

看看

解码后,您可以轻松地访问变量,如访问类的属性,或将其转换为关联数组时作为数组对象访问

//Assign your JSON data to this $json variable as shown in the demo.
$arr = json_decode($json,1);
foreach($arr['crop'] as $arr1)
{
    foreach($arr1 as $k=>$v)
    {
        if($arr1['district_id']==1)
        {
            $avgpr[] = $arr1['price'];
        }
    }
}

echo $avgprice = array_sum($avgpr)/count($avgpr);
输出:

40.1

首先,您也可以使用
JSON\u decode
函数对JSON进行解码,然后使用变量进行访问。

首先使用
JSON\u decode
函数对JSON进行解码怎么样。?
40.1