簡體   English   中英

PHP數組從XML文件獲取每個鍵/值

[英]PHP Array get each Key/Value from XML File

我只是試圖從XML文件創建的數組中獲取某個層的鍵/值而感到困惑。 來自Print_R()的數組部分為:

SimpleXMLElement Object
(
Array
    (
        [category] => SimpleXMLElement Object
            (
                [@attributes] => Array
                    (
                        [settings] => maximum
                    )

                [cat_1] => 5.21
                [cat_2] => 5.05
                [cat_3] => 19.36
                [cat_4] => 21.97
                [cat_5] => 12.17
            )

    )

)

我正在嘗試獲取“ cat_1,cat_2,cat_3 ..”鍵,以便可以將它們放在自己的數組中,並用於其他用途。 我可以做print_r($ array),它可以工作,但是當我嘗試這樣做時:

foreach ($array->category as $key => $val) {
$new_array[$key]= "$val";

}

$ array-> category似乎沒有針對該列表。 XML文件中的“ SimpleXMLElement對象”似乎妨礙了我通常使用數組的方式。 有誰知道我如何獲得這些cat_1 ets。 名單?

注意$array->category是一個對象,而不是一個數組, cat_*properties 由於它們都是公共的,因此只需使用:

$new_array = get_object_vars($array->category);

您應該使用以下方式將simpleXML對象轉換為數組

$array = json_decode(json_encode((array) $simplexmlob)), 1);

然后使用$array['category']做其他事情。 無需使用foreach循環。

暫無
暫無

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

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