2016-09-26 138 views
0

我是相對較新的PHP,我正在這個PHP項目中工作。我正在循環訪問一組如下所示的SimpleXMLElement對象:重命名SimpleXMLElement鍵/屬性

SimpleXMLElement 
{ 
RunID : "321", 
Description: "Something Here" 
} 

請注意,此數組來自返回XML的SOAP調用。

我想要做的就是將屬性RunID和Description重命名爲其他內容,並將每個元素添加到新數組中。一些幫助將不勝感激。

如果不能重命名它們,那麼我可以將它們轉換爲另一個對象類型或其他東西。就像我可以在C#中使用匿名類型一樣。 我正在使用PHP 5.6

+0

這是一個simpleXMLElement對象的var_dump/print_r嗎?看起來不像是這樣。糾正我,如果我錯了。 – Andreas

+0

我使用simplexml_load_string加載XML並轉換爲SimpleXMLElement。然後我有SimpleXMLElement,它具有我上面提到的屬性的SimpleXMLElement數組。不,它不是var_dump,它只是我擁有的SimpleXMLElement的表示。 – Jesus

+0

在這裏檢查答案,它似乎顯示如何將** simplexml_load_string(...)**的結果轉換爲常規PHP數組:http://stackoverflow.com/questions/6167279/converting-a-simplexml-object對數組#6167346 –

回答

0

所以我終於想通了。我所要做的就是以下幾點。我希望它能幫助別人。

$myArray = array(); 
foreach($xml as $element) 
{ 
$row["NewPropertyName"] = (string)$element->RunID; 
$row["SecondPropertyName"] = (string)$element->Description; 
$myArray[] = $row; 
} 
+0

您應該在$ row [「NewPropertyName」]之上添加'$ row = array();',以便每次在循環中創建一個新的'$ row'數組。如果您的代碼稍後變得更加複雜,那麼如果您忘記添加此代碼,則可能會遇到錯誤。 – IMSoP