簡體   English   中英

如何使用PHP從stdClass對象(json輸出)訪問數組?

[英]How to access an array from stdClass Object (json output) using PHP?

大家好,這里只需要一點幫助。 因為我有一個json數據並解碼。 但是我無法使用foreach循環訪問它。 當我嘗試打印數組結構時,我得到了:

Array
(
    [0] => stdClass Object
        (
            [code] => AD
            [country] => Andorra
        )

    [1] => stdClass Object
        (
            [code] => AE
            [country] => United Arab Emirates
        )

    [2] => stdClass Object
        (
            [code] => AF
            [country] => Afghanistan
        )

    [3] => stdClass Object
        (
            [code] => AG
            [country] => Antigua and Barbuda
        )

    .
    .
    .

我想要的就是訪問代碼和國家/地區

我使用了此循環,但它顯示了索引名稱和值:

foreach($decode_country as $p){
   foreach($p as $key => $value){
      echo $key."--".$value."<br />";
   }
}

但顯示:

code--AD
country--Andorra
code--AE
country--United Arab Emirates
code--AF
country--Afghanistan
code--AG
country--Antigua and Barbuda
code--AI
country--Anguilla
code--AL
country--Albania
code--AM
country--Armenia

嘗試像

foreach($decode_country as $p){
   echo "code -- ".$p->code."<br>";
   echo "country -- ".$p->country."<br>";
}

這里$p將被視為一個對象,您可以使用$p->code$p->country提取codecountry $p->country 。或者更好:解碼 json數據時,您需要提供

$decode_country = json_decode($data,true);

true將返回數組結果。然后使用

foreach($decode_country as $p){
   echo "code -- ".$p['code']."<br>";
   echo "country -- ".$p['country']."<br>";
}

你可以試試這個

foreach($decode_country as $p){
    echo $p->code;
    echo $p->country;
}

這里$decode_country是一個對象array ,在foreach循環中,每個$p是一個對象。

如果您使用json_decode($data, true); 然后使用

echo $p['code'];

使用TRUE ,返回的對象將轉換為關聯數組。 否則,使用

echo $p->code;

暫無
暫無

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

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