PHP:从没有循环的json数组中获取数据

时间:2015-08-12 16:45:04

标签: php arrays json

我想要从数组中获取数据而不需要循环。

我想获得“link_click”的“价值”,例如,我该如何使这项工作?

我试过了,但这不起作用。

$stats = json_decode($data, false);
$link_click= $stats->data->actions->action_type->['link_click']->value;


{
   "data": [
      {
         "actions": [
            {
               "action_type": "comment",
               "value": 2
            },
            {
               "action_type": "link_click",
               "value": 636
            },
            {
               "action_type": "post_like",
               "value": 2
            },
            {
               "action_type": "page_engagement",
               "value": 640
            },
            {
               "action_type": "post_engagement",
               "value": 640
            }
         ],

2 个答案:

答案 0 :(得分:2)

只有当您知道action_type:link_click的索引时,才能使其成为可能。如果您知道索引,则可以执行此操作。 (答案与您上面显示的数据有关。)

$stats = json_decode($data, true);
$link_click= $stats['data']['actions'][1]['value'];

循环示例(根据要求):

$stats = json_decode($data, true);
$value = 0;
foreach($stats['data']['actions'] as $action) {
    if ($action->action_type == 'link_click') {
        $value = $action->value;
    }    
}

echo $value; //This is your value

答案 1 :(得分:0)

您可以使用JsonPath之类的内容来获取值