PHP将数组转XML的核心是递归遍历:索引数组用item标签,关联数组用键名作标签,值为数组则递归,标量值用htmlspecialchars转义;推荐使用spatie/array-to-xml库处理属性、CDATA、空值等复杂场景。

PHP 将数组转换为 XML,核心思路是递归遍历数组,根据键名生成 XML 标签名,值作为节点内容或属性;需注意处理关联数组(转为带属性或嵌套节点)、索引数组(统一节点名或自动编号)、特殊字符转义、XML 声明与编码设置。
适合结构简单、可控的数组,不依赖外部库,逻辑清晰。
处理复杂嵌套、属性、CDATA、根节点命名等更健壮,减少出错可能。
纯数组天然不含“属性”概念,需约定规则映射。
立即学习“PHP免费学习笔记(深入)”;
适用于快速验证或轻量场景:
$arr = ['name' => '张三', 'age' => 25, 'hobbies' => ['reading', 'coding']];
function arrayToXml($array, $root = 'root') {
$xml = new SimpleXMLElement("<$root/>");
arrayToXmlRecursive($array, $xml);
return $xml->asXML();
}
function arrayToXmlRecursive($array, &$xml) {
foreach ($array as $key => $value) {
if (is_numeric($key)) $key = 'item';
if (is_array($value)) {
$subnode = $xml->addChild($key);
arrayToXmlRecursive($value, $subnode);
} else {
$xml->addChild($key, htmlspecialchars($value, ENT_XML1, 'UTF-8'));
}
}
}以上就是PHP如何将数组转换为XML格式的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号