Facebook SDK和PHP数组

Facebook SDK和PHP数组,php,arrays,variables,Php,Arrays,Variables,我正在使用Facebook SDK和PHP。一切正常,但有一部分我遇到了麻烦,那就是将特定字段值存储到变量中 这是获取并打印信息的代码 if ($session){ //if we have the FB session $user_profile = (new FacebookRequest($session, 'GET', '/me/accounts?fields=id,name,access_token'))->execute()->getGraphObject(Gr

我正在使用Facebook SDK和PHP。一切正常,但有一部分我遇到了麻烦,那就是将特定字段值存储到变量中

这是获取并打印信息的代码

if ($session){ //if we have the FB session

    $user_profile = (new FacebookRequest($session, 'GET', '/me/accounts?fields=id,name,access_token'))->execute()->getGraphObject(GraphUser::className());
    //do stuff below, save user info to database etc.
    echo "Session Set.";

    echo '<pre>';
    print_r($user_profile); //Or just print all user details
    $variable = print_r($user_profile, TRUE);
    echo '</pre>';

    // How do I get the first 'id', 'name', and 'access_token'
    // How do I get the second 'id', 'name', and 'access_token'
}

如何获取[id]、[name]和[access_token]并将它们存储在变量中,以便最终将它们保存到db中?

因此,如果您试图使用PHP与Facebook SDK集成,我强烈建议您阅读Facebook的开发者指南:

以下是关于使用Facebook SDK的非常有用的YouTube教程:

以下是他关于Facebook SDK的GitHub文件:

让我想到如何获取Facebook页面ID和访问令牌的文件是add-Page-tab.php

以下是将为您提供信息的代码片段:

$pages=$fb->get('/me/accounts');
$pages=$pages->getGraphEdge()->asArray();
?>
Session Set.
Facebook\GraphUser Object
(
    [backingData:protected] => Array
        (
            [data] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => XXXXXXXX
                            [name] => XXXXXXXX
                            [access_token] => XXXXXXXXX
                        )

                    [1] => stdClass Object
                        (
                            [id] => XXXXXXXXX
                            [name] => XXXXXXXXX
                            [access_token] => XXXXXXXXX
                        )

                )

            [paging] => stdClass Object
                (
                    [cursors] => stdClass Object
                        (
                            [before] => XXXXXXX
                            [after] => XXXXXXX
                        )

                )

        )

)
$pages = $fb->get('/me/accounts');
$pages = $pages->getGraphEdge()->asArray();
?>

<form action="XXXXXXXXXX" method="POST">
<select name="page" single>

<?php
foreach ($pages as $key) {
    ?>
    <option value="<?php echo $key['id']; ?>"><?php echo $key['name']; ?></option>
    <?php
}

?>
</select>
<input type="submit" name="submit">
</form>
<?php

if(isset($_POST['submit'])) {
    $page = $fb->get('/' . $_POST['page'] . '?fields=access_token, name, id');
    $page = $page->getGraphNode()->asArray();

    echo "Access Token: " .$page['access_token'] . "<br/><br/>";

    echo "Page Id: " . $page['id'];

    // print_r($page);

}