Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 干净地解析FB图API数据_Php_Json_Facebook_Facebook Graph Api - Fatal编程技术网

Php 干净地解析FB图API数据

Php 干净地解析FB图API数据,php,json,facebook,facebook-graph-api,Php,Json,Facebook,Facebook Graph Api,我目前正在通过FBAPI数据进行解析。以下面的例子 { "data": [ { "id": "ID", "name": "Creative!" }, { "id": "ID", "name": "a name" } ], "paging": { "cursors": { "after": "fdsagfsganhdfs==", "before": "gfdwiol

我目前正在通过FBAPI数据进行解析。以下面的例子

{
  "data": [
    {
      "id": "ID", 
      "name": "Creative!"
    }, 
    {
      "id": "ID", 
      "name": "a name"
    }
  ], 
  "paging": {
    "cursors": {
      "after": "fdsagfsganhdfs==", 
      "before": "gfdwiolrukjhteqrfgbh"
    }
  }, 
  "summary": {
    "total_count": 2
  }
}
这是查询Graph API时返回的内容的示例。我遇到的问题是,我想要一种干净的方法来从这些数据中获取总计数。通常情况下,如果没有“喜欢”,它将在没有摘要字段的情况下输入。如果isset和array_key_存在,则通过执行一些操作可以轻松解析,但我将处理大量数据,此用例适用于来自FB的许多不同类型的数据。关于只获取total_count字段有什么建议吗?FQL可以工作,但似乎已被弃用。谢谢。

如果total_count字段实际上是数据数组中元素数的总和,那么您可以简单地使用PHP中的函数来计算数组的长度

$json_array = json_decode($fb_json_string, true);
$total_count = (isset($json_array['total_count']))? $json_array['total_count']:((isset($json_array['summary']['total_count']))? $json_array['summary']['total_count']:0);

我不知道我是否能让它更难看,不过这只是一个建议。

这不是一个好主意,因为api只返回特定数量的条目。如果有更多,则必须使用分页。也就是说,计数可能不包括所有条目。