2

私は次のものを持っています...

/* Request access tokens from twitter */
$access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']);

$_SESSION['access_token'] = $access_token;
echo $access_token[2];

「$access_token」は配列です。この配列から値を取得しようとしていますが、上記のエコーだけでは何もエコーしないようです?

ダンプ変数

array(4) { ["oauth_token"]=> string(50) "81920494-vHspkpas4WiOYoFKCgto85mW2XeTxuA130MwcHHWb" ["oauth_token_secret"]=> string(42) "WwIYybFivEwZQ1ORbeqY1irHT385EIuh27alWy9ED4" ["user_id"]=> string(8) "81989494" ["screen_name"]=> string(12) "KlareB" }
4

2 に答える 2

5

var_dump が次の場合:

array(4) { ["oauth_token"]=> string(50) "81920494-vHspkpas4WiOYoFKCgto85mW2XeTxuA130MwcHHWb" ["oauth_token_secret"]=> string(42) "WwIYybFivEwZQ1ORbeqY1irHT385EIuh27alWy9ED4" ["user_id"]=> string(8) "81920494" ["screen_name"]=> string(12) "KlareBrennan" }

echo $access_array[2];数値的に索引付けされていないため、機能しません。

あなたがする必要があります:

echo $access_array['user_id'];
于 2013-05-28T19:49:04.053 に答える
1

PHP の配列は実際にはハッシュマップであることを覚えておく必要があります。つまり、それらはkey => valueペアの連想配列です。

$_SESSION['access_token'] = $access_token;
echo $access_token[2];

これは、上記のコードが$access_token配列内でposition 2ではなくkey 2を参照することを意味します。vardump から、キーがないことがわかります2

array(4) { 
  ["oauth_token"]=> string(50) "81920494-vHspkpas4WiOYoFKCgto85mW2XeTxuA130MwcHHWb
  ["oauth_token_secret"]=> string(42) "WwIYybFivEwZQ1ORbeqY1irHT385EIuh27alWy9ED4" 
  ["user_id"]=> string(8) "81920494" 
  ["screen_name"]=> string(12) "KlareBrennan" 
}

ほとんどのインデックス付き配列では、これはまったく同じように機能するため、混乱を招くことに注意してください。次のコードを検討してください。

<?php

  $blah = array();
  $blah['mykey'] = "My first key.";
  $blah[] = "My second key.";
  $blah[1] = "My third key.";
  $blah[] = "My last key.";

  var_dump($blah);

そしてそれは結果です:

array(4) {
  ["mykey"]=>
  string(13) "My first key."
  [0]=>
  string(14) "My second key."
  [1]=>
  string(13) "My third key."
  [2]=>
  string(12) "My last key."
}

キーが指定されていない場合、次に使用可能なキーが使用されることがわかります。この数値では、キーと値のペアのキーとして割り当てられていますが、文字列キーと一緒に存在できます。このため、配列のすべての内容array_values()を反復処理する場合に便利な関数です。

于 2013-05-28T20:11:20.127 に答える