/**
* 数据XML编码
* @param mixed $data 数据
* @param string $item 数字索引时的节点名称
* @param string $id 数字索引key转换为的属性名
* @return string
*/
function data_to_xml($data, $item='item', $id='id') {
$xml = $attr = '';
foreach ($data as $key => $val) {
if(is_numeric($key)){
$id && $attr = " {$id}=\"{$key}\"";
// {$id}=\"{$key}\"执行后 id="1" 其中\为转义字符,转义双引号字符
$key = $item;
}
$xml .= "<{$key}{$attr}>";//$key为节点名 $attr为属性
$xml .= (is_array($val) || is_object($val)) ? data_to_xml($val, $item, $id) : $val;
$xml .= "</{$key}>";
}
return $xml;
}
$data = array(
'note'=>array(
'from'=>'liming',
'to'=>'xiaowang',
'message'=>'hello,world!'
)
);
$a=data_to_xml($data);
var_dump($a);
输出结果为
string '<note>
<from>liming</from>
<to>xiaowang</to>
<message>hello,world!</message>
</note>'
(length=80)
注意:结果格式有手动改了一下!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。