2016-09-26 6 views
0

私は比較的新しいPHPです。このPHPプロジェクトで作業しています。この配列は、XMLを返すSOAP呼び出しから来たことSimpleXMLElementのキー/プロパティの名前を変更

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

注:私はこのように見えるのSimpleXMLElementオブジェクトの配列をループしています。

私がしたいのは、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 -to-an-array#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

関連する問題