ThinkPHP源码学习 data_to_xml函数 数据转成xml格式
发布时间:2020-07-27 13:59:42
来源:51CTO
阅读:326
作者:津沙港湾
/**
* 数据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为属性
$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 '
liming
xiaowang
hello,world!
'
(length=80)
注意:结果格式有手动改了一下!