簡體   English   中英

位於Array中的JSON Object的訪問元素

[英]Access element of JSON Object which is in an Array

如何訪問數組中的JSON對象元素?

理想情況下,如果數組的大小未知且JSON對象數量未知,我想知道如何執行此操作。

在下面的示例中,我想訪問JSON對象0和19中的id。

array:1 [▼
  0 => {#411 ▼
    +0: {#157 ▶}
    +1: {#167 ▶}
    +2: {#192 ▶}
    +3: {#200 ▶}
    +4: {#206 ▶}
    +5: {#227 ▶}
    +6: {#235 ▶}
    +7: {#259 ▶}
    +8: {#269 ▶}
    +9: {#281 ▶}
    +10: {#299 ▶}
    +11: {#308 ▶}
    +12: {#316 ▶}
    +13: {#325 ▶}
    +14: {#335 ▶}
    +15: {#352 ▶}
    +16: {#362 ▶}
    +17: {#380 ▶}
    +18: {#390 ▶}
    +19: {#402 ▼
      +"created_at": "Mon Jan 23"
      +"id": 823548040000000000
      +"id_str": "823548040000000000"
      +"text": "blah blah blah blah blah blah blah"
      +"truncated": true
      +"entities": {#403 ▶}
      +"source": "<a href="http://twitter.com" rel="nofollow">Twitter Web Client</a>"
      +"in_reply_to_status_id": null
      +"in_reply_to_status_id_str": null
      +"in_reply_to_user_id": null
      +"in_reply_to_user_id_str": null
      +"in_reply_to_screen_name": null
      +"user": {#406 ▶}
      +"geo": null
      +"coordinates": null
      +"place": null
      +"contributors": null
      +"is_quote_status": false
      +"retweet_count": 3
      +"favorite_count": 8
      +"favorited": false
      +"retweeted": false
      +"possibly_sensitive": false
      +"lang": "en"
    }
  }
]

頂級是一個數組,其中一個元素索引為0(粘貼中的第一行)。 即$ var [0]。

$ var [0]似乎包含一個對象,如果我正確解釋你的粘貼(大括號“0 => {”)。 因此,如果你想訪問它的部分你使用 - >,在你的情況下$ var [0] - > 0或$ var [0] - > 19。

元素0和19是對象(花括號)。 所以要訪問它們,你需要f.ex. 是$ var [0] - > 0-> created_at。

編輯:訪問數字對象屬性並不像人們希望的那樣容易。 但是如果將對象轉換為數組,則可以完成:

((array) $var[0])[0]->created_at

說明:$ var [0]是一個對象,但其屬性是數字。 這是發生T_LNUMBER錯誤的地方。 所以我們將該對象轉換為數組:( array)$ var [0]。 要在結果數組中訪問索引為0的元素,請將其括在括號中:((array)$ var [0])[0]。 (沒有括號(“(array)$ var [0] [0]”)它將是一個二維數組)。 現在我們使用字符串鍵在對象上,可以像往常一樣訪問它。

所以問題更詳細地說明了這一點。

請注意,代碼不可重復使用,它是針對此特定情況量身定制的。 因此,如果在其他地方發生這種情況,您應該編寫一些將數據從對象轉換為數組的函數。

如果使用json_decode(),它會將JSON轉換為PHP變量。 然后你可以像平常那樣訪問元素(數組索引等)。

https://secure.php.net/manual/en/function.json-decode.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM