【问题标题】:Reading API response in PHP在 PHP 中读取 API 响应
【发布时间】:2015-10-31 07:23:55
【问题描述】:

我正在向 mixpanel API 发出请求

$data = $mp->request(array('segmentation'), array(
    'event' => 'Loaded a Page',
    'name' => 'Loaded a Page',
    'from_date' => '2015-07-01',
    'to_date' => '2015-07-01',
    'type' => 'unique',   
    'expire' => '1439089200'
    //'unit' => 'day',
    //'interval' => '7',
    //'format' => 'json'
));
//echo $data;
var_dump($data);

这是我收到的回复。

object(stdClass)#2 (2) { ["legend_size"]=> int(1) ["data"]=> object(stdClass)#3 (2) 
{ ["series"]=> array(1) { [0]=> string(10) "2015-07-01" } ["values"]=> object(stdClass)#4 (1) 
{ ["Loaded a Page"]=> object(stdClass)#5 (1) { ["2015-07-01"]=> int(267691) } } } }

谁能帮助我了解如何读取变量中的响应。假设我想从响应中获取“2015-07-01”的 Loaded a Page 事件的计数。

【问题讨论】:

  • 它是一个像其他对象/数组一样的对象/数组。仅仅因为它来自一个 api 并没有使它特别 - 你访问它的方式与你在任何其他 php 对象/数组中所做的完全一样。

标签: php


【解决方案1】:

假设我想从响应中获取“2015-07-01”的 Loaded a Page 事件的计数。

$data->values->{"Loaded a Page"}->{"2015-07-01"}

请注意,这是一种非常讨厌的格式。我会检查request()是否带参数来调整格式。

尽管如此,我还是鼓励您阅读Objects Properties in PHP 和这个答案Accessing Class Properties with Spaces

【讨论】:

  • 嗨,Jason,感谢您的回复,但它不起作用。我试图打破它并像 $data->{'values'} 或 $data->{'values'} -> {'Loaded a Page'} 或 $data->{'values'}-> {'加载了一个页面'} -> {'2015-07-01'}.. 这些都没有回应任何东西。
  • 很难读取未格式化的输出,但这应该会让您走上正轨。
猜你喜欢
  • 1970-01-01
  • 2014-10-31
  • 2020-12-10
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 2021-02-27
  • 2012-07-30
相关资源
最近更新 更多