从图形 API 获取故事标记会返回标记的奇怪 ID 结果


getting story tags from graph api returns strange id results for the tagged

我解释这一点的最好方法是向您展示。 似乎是 64 位系统中的 float() 错误。

当我为此调用/anotherfeed/feed或任何页面时,带有story_tags的帖子会返回一些ID作为浮动错误。

ID 中存在浮点错误的示例故事标记。 [id] => 1.7153566624E+14

我的问题是,我该如何解决这个问题,或者我做错了什么? 我所做的只是循环使用 foreach 语句。

        if($fvalue[story_tags]){
                echo 'Tags: ';
                $sTags=$fvalue[story_tags];
            foreach ($sTags as $skey=>$svalue){
            foreach ($svalue as $gkey=>$hvalue){
                $id=$hvalue[id];
                echo ''.$hvalue[name].' '.$id.' ';
                            }
            }
        }

               [story_tags] => Array
                    (
                        [0] => Array
                            (
                                [0] => Array
                                    (
                                        [id] => 1.7153566624E+14
                                        [name] => Another Feed
                                        [offset] => 0
                                        [length] => 12
                                        [type] => page
                                    )
                            )

Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [id] => 171535666239724_156133294510726
                    [from] => Array
                        (
                            [name] => Another Feed
                            [category] => App page
                            [id] => 171535666239724
                        )
                    [story] => Another Feed shared Non-Profits on Facebook's photo.
                    [story_tags] => Array
                        (
                            [0] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 1.7153566624E+14
                                            [name] => Another Feed
                                            [offset] => 0
                                            [length] => 12
                                            [type] => page
                                        )
                                )
                            [20] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 41130665917
                                            [name] => Non-Profits on Facebook
                                            [offset] => 20
                                            [length] => 23
                                            [type] => page
                                        )
                                )
                        )
                    [picture] => http://photos-d.ak.fbcdn.net/hphotos-ak-ash3/557037_10150932300320918_1908237167_s.jpg
                    [link] => http://www.facebook.com/photo.php?fbid=10150932300320918&set=a.85612830917.95996.41130665917&type=1
                    [name] => Wall Photos
                    [caption] => Have you heard of the @[159208207468539:274:One Day without Shoes] (ODWS) campaign?  ODWS is an annual initiative by @[8416861761:274:TOMS] to bring awareness around the impact a pair of shoes can have on a child's life.  
During the 2012 campaign, @[20531316728:274:Facebook] drove 20% of traffic to the ODWS microsite and TOMS even launched a Facebook-exclusive "Barefoot & Blue" giveaway with @[25266987484:274:Essie Nail Polish] for the second year in a row.  
We think this is a pretty cool example of creating exclusive content around an important initiative that keeps people engaged and involved!
                    [properties] => Array
                        (
                            [0] => Array
                                (
                                    [name] => By
                                    [text] => Non-Profits on Facebook
                                    [href] => http://www.facebook.com/nonprofits
                                )
                        )
                    [icon] => http://static.ak.fbcdn.net/rsrc.php/v2/yD/r/aS8ecmYRys0.gif
                    [type] => photo
                    [object_id] => 10150932300320918
                    [application] => Array
                        (
                            [name] => Photos
                            [id] => 2305272732
                        )
                    [created_time] => 2012-07-02T17:57:23+0000
                    [updated_time] => 2012-07-02T17:57:23+0000
                    [comments] => Array
                        (
                            [count] => 0
                        )
                )

解决方案:

cURL - 必须使用数字格式和PHP_EOL才能在 cURL 中求解。

$locs = 对/otherfeed/feed 的图形 API 的 curl 调用,仍然需要 foreach 的解决方案。

$locs=json_decode($returned, true);
$stId=number_format($locs[data][1][story_tags][0][0][id], 0, '', '').PHP_EOL;
echo $stId;

PHP-SDK

解决方案是相同的,foreach 循环中的长数字需要通过number_format运行。