Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/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 有没有办法从这段代码中提取前n条注释?_Php_Facebook - Fatal编程技术网

Php 有没有办法从这段代码中提取前n条注释?

Php 有没有办法从这段代码中提取前n条注释?,php,facebook,Php,Facebook,我想做的是,从一个页面的特定帖子中提取评论列表,现在我想限制评论的数量,比如100或200条,因为一些帖子的评论超过了50k,这会扼杀我的脚本:\你可以尝试限制脚本中的while子句,比如: $facebook = new Facebook(array( 'appId'=>'','secret'=>'' )); $post = "10152390205162139"; $comments = array(); $done = false; $options = array()

我想做的是,从一个页面的特定帖子中提取评论列表,现在我想限制评论的数量,比如100或200条,因为一些帖子的评论超过了50k,这会扼杀我的脚本:\

你可以尝试限制脚本中的
while
子句,比如:

$facebook = new Facebook(array(
    'appId'=>'','secret'=>''
));
$post = "10152390205162139";
$comments = array();
$done = false;
$options = array();
$path = "/".$post.'/comments';
while(!$done){
    try{
        $data = $facebook->api($path,'GET',$options);
    }catch(FacebookApiException $e){
        echo $e->getMessage();
        $data = null;
        $done = true;
    }
    if(!is_null($data)){
         $comments = array_merge($comments, $data['data']);
        if(isset($data['paging']['next']) && !empty($data['paging']['next'])){
            $parts = parse_url($data['paging']['next']);
            $path  = $parts['path'];
            parse_str($parts['query'], $options);
        } else {
            $done = true;
        }
    }
}
while(!$done | | count($comments)有一个选项,所以您可能只需要更改:

while (!$done || count($comments) <= 200) {
    ...
}
致:


成功了,谢谢:)顺便问一下,他们是1对5还是n对n-5?curious@avinashizhere如果你是这个意思的话,还有一个
offset
选项。是的,如果我也可以使用offset,那就太好了:)@avinashiz你可以,但是使用例如
选项可能更有趣,因为
直到
选项,因为随着实时添加注释,分页可能会发生很大变化。你能告诉我吗?我搜索的sice n没有成功:(
$options = array();
$options = array('limit' => 100);