2016-06-11 5 views
0

今日私はPHP配列からいくつかのデータを取得しようとしていますが、私は最初のキーの名前を知っていないので、これを行う方法がわかりません。 $array[0][0]この:私はPHP配列内のデータを取得

[string:proected]と呼ばれる各キーの値を取得したいと思い

Array 
(
[5bnuQsT1Y4S9yk8LRhBeLtT5PWqoAYrv2XlIGu1A] => Array 
    (
     [token] => TeamSpeak3_Helper_String Object 
      (
       [string:protected] => 5bnuQsT1Y4S9yk8LRhBeLtT5PWqoAYrv2XlIGu1A 
       [position:protected] => 0 
      ) 

     [token_type] => 0 
     [token_id1] => 8 
     [token_id2] => 0 
     [token_created] => 1465668613 
     [token_description] => 
    ) 

[df01kyz5BWtgFXDFT+70g5oSze2e3WijYEfbOSDO] => Array 
    (
     [token] => TeamSpeak3_Helper_String Object 
      (
       [string:protected] => df01kyz5BWtgFXDFT+70g5oSze2e3WijYEfbOSDO 
       [position:protected] => 0 
      ) 

     [token_type] => 0 
     [token_id1] => 8 
     [token_id2] => 0 
     [token_created] => 1465668966 
     [token_description] => 
    ) 

) 

は、私はこれをvardumpしようとした$array[0]が、それらはNULLに設定されています。

私はvardump($array["5bnuQsT1Y4S9yk8LRhBeLtT5PWqoAYrv2XlIGu1A"]["token"]オブジェクトを取得しますが、すべての文字列を取得するためにループを設定する必要があります。

あなたは私を助けることができますか?

ありがとうございます!

+0

foreachループは役立つかもしれません。 – phraniiac

+0

'reset($ array)' http://php.net/manual/en/function.reset.php、各 'string:protected'の配列の最初の要素を取得するには、' each for' – ArtisticPhoenix

答えて

1

あなたは、このような配列のうちの各インデックスをつかむためにforeachループを使用することができます。配列の構造が同じであれば

<?php 

$data = array (
    '5bnuQsT1Y4S9yk8LRhBeLtT5PWqoAYrv2XlIGu1A' => array (
     'token' => array (
      'string:protected' => '5bnuQsT1Y4S9yk8LRhBeLtT5PWqoAYrv2XlIGu1A', 
      'token_type' => 0, 
      'token_id1'=> 8, 
      'token_id2' => 0, 
      'token_created' => 1465668613, 
      'token_description' => '', 
     ), 
    ), 
    'df01kyz5BWtgFXDFT+70g5oSze2e3WijYEfbOSDO' => array (
     'token' => array (
      'string:protected' => 'df01kyz5BWtgFXDFT+70g5oSze2e3WijYEfbOSDO', 
      'token_type' => 0, 
      'token_id1'=> 8, 
      'token_id2' => 0, 
      'token_created' => 1465668966, 
      'token_description' => '', 
     ), 
    ), 
); 

foreach($data as $index => $value) { 
    echo $data[$index]['token']['string:protected'] . '<br>'; 
} 
+0

ああ、ありがとう! しかし、あなたが私に理由を説明することができます: 'echo $ data [0] ['token'] ['string:protected']。 '
';それはうまくいきませんか? '$ data [0]'が存在しないため、 – LightMan

+0

です。 '$ data [5bnuQsT1Y4S9yk8LRhBeLtT5PWqOAYrv2XlIGu1A]'を実行すると、現在のキーを取得し、 'reset($ array)'、 'next()'、 'prev()'、 'end() '価値とより多くのポインタを得るために。または、ループを使用するだけです。 – ArtisticPhoenix

+0

正確には、連想配列です。連想配列には数値インデックスはありませんが、文字列インデックスのみが提供されます。この方法はスマートです! :) – BLewis

関連する問題