[英]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.