2012-07-03 63 views
1

如何将下列嵌套数组转换为xml文件? XML文件将是什么样子?如何在PHP中将嵌套数组转换为xml?

Array(
array('name'=>'Jone Smith','phone'=>'416-689-9865'), 
array('name'=>'Jane Ling','phone'=>'658-985-5222') 
); 
+4

http://stackoverflow.com/questions/1397036/how-to-convert- array-to-simplexml – shxfee

回答

3
<?php 
$your_array= array ('key1' => 'val1', 'key2' => 'val2', 'second_array' => array ('key3' => 'val3','key4' => 'val4'),); 
$toXml = new SimpleXMLElement('<root/>'); 
array_walk_recursive($your_array, array ($toXml, 'addChild')); 
print_r($toXml->asXML()); 

其他备选是使用array_walk。 array_walk_recursive()函数运行用户自制函数中的每个数组元素。数组的键和值是函数中的参数。这个函数和array_walk()函数的区别在于,使用这个函数你可以使用更深的数组(数组在内部)

+2

这是一个相当聪明的解决方案,但当值为空时会中断。不知道为什么。 – zmippie