注:號碼XML元素名稱是不是一個好主意,所以$ your_array不應該有按鍵數字。
試試這個:下面
$your_array = array(
'city' => array
(
'0' => array('0' => 'Rd', '1' => 'E'),
'1' => 'B',
'2' => 'P',
'3' => 'R',
'4' => 'S',
'5' => 'G',
'6' => 'C'
),
'dis' => '1.4'
);
函數調用自身(遞歸),所以應該對任何深度的陣列工作。
功能使用三元運算符:
(condition) ? if true action : if false action
...檢查,如果所謂的價值是數組。
如果它是數組,它會調用它自己(遞歸)來深入挖掘,如果值不是數組,它將被附加到XML對象,使用數組鍵值爲元素名稱和數組值賦值。
function array_to_xml(array $your_array, SimpleXMLElement $xml){
foreach ($arr as $k => $v){
is_array($v) ? array_to_xml($v, $xml->addChild($k)) : $xml->addChild($k, $v);
}
return $xml;
}
$your_xml = $this->array_to_xml($your_array, new SimpleXMLElement(''))->asXML();
現在,你的陣列是一個XML和封閉在$ your_xml變量,所以你可以用它任何你想要的。
$ your_xml輸出(例如,如果你「迴響」它)是這樣的:
<root>
<city>
<0>
<0>Rd</0>
<1>E</1>
</0>
<1>B</1>
<2>P</2>
<3>R</3>
<4>S</4>
<5>G</5>
<6>C</6>
</city>
<dis>1.4</dis>
</root>
的
可能重複[如何數組轉換爲SimpleXML的(http://stackoverflow.com/questions/1397036/how-to-convert-array-to-simplexml) – nickb 2012-02-05 19:22:45
看看http://stackoverflow.com/questions/1397036/how-to-convert-array-to-simplexml例如 – 2012-02-05 19:23:13