2017-09-24 16 views
0

は、私は、JSON私は、foreachループの助けを借りて行うには、それを試してみました[メッセージ]を読みたい、そこからオブジェクト配列を持っているが、それは読み取りオブジェクト配列

未定義のプロパティについての私のエラーを与える:stdClassの: :Cで$名:\ xamppの\ htdocsに\ FB \ライン上で56

を-action.phpを選択し、ここ56

foreach($data->data as $obj) 
    { 
    echo $obj->message.'<br>'; 
    } 

ラインオブジェクトのJSON配列ショーが含まれている$データ変数がありますこのタイプのresu lts

stdClass Object 
(
    [data] => Array 
     (
      [0] => stdClass Object 
       (
        [comments] => stdClass Object 
         (
          [data] => Array 
           (
            [0] => stdClass Object 
             (
              [created_time] => 2017-09-19T09:17:24+0000 
              [from] => stdClass Object 
               (
                [name] => Hasni_Collections786 
                [id] => 581985938822055 
               ) 

              [message] => :-p ;) 
              [id] => 737576403263007_737576629929651 
             ) 

            [1] => stdClass Object 
             (
              [created_time] => 2017-09-24T12:54:28+0000 
              [from] => stdClass Object 
               (
                [name] => Hasni_Collections786 
                [id] => 581985938822055 
               ) 

              [message] => :-p 
              [id] => 737576403263007_740798849607429 
             ) 

            [2] => stdClass Object 
             (
              [created_time] => 2017-09-24T12:54:31+0000 
              [from] => stdClass Object 
               (
                [name] => Hasni_Collections786 
                [id] => 581985938822055 
               ) 

              [message] => :-p 
              [id] => 737576403263007_740798896274091 
             ) 

           ) 

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

           ) 

         ) 

        [id] => 581985938822055_737576403263007 
       ) 

     ) 

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

     ) 

) 
+0

オブジェクト配列であるとすぐにそれがJsonではないことを認識していますか?配列の内容が良好であることを確認した場合、Jsonが一度シリアル化されたという事実は無関係です。 – GolezTrol

+0

クエストオンを編集してJSON文字列を含めることができますか? – MinistryofChaps

+0

どのように私は怒っています。そのようなトラブルにあなたを置くことを申し訳ありません。 しかし私の質問は同じです私はメッセージのインデックスにある値を取得したいと思う。 –

答えて

2

あなたの応答は、混在したArray/stdObjectのようです。あなたの与えられた出力は$データからのものである場合、あなたのforeachのは、そのように見えなければならないでしょう:

foreach ($data->data[0]->comments->data as $obj) { 
    echo $obj->message.'<br>'; 
} 

)は(どこかjson_decodeますか?それは、いくつかの部分が配列またはそれに似たものにキャストされているようです。 json_decode($ json、true)の使用を検討してください。これは、この奇妙なミックスアップがなくても、結果を配列として得ることができます。

+0

ありがとう@natheriel –

関連する問題