php实现数组转化成xml的类

介绍了一个PHP工具类,用于将多维数组转换为XML格式,支持自定义根节点及编码方式,适用于API数据响应等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class ArrayUtility
{
/**
* Convert array to xml tree
*
* @param array $array
* @param array $options
* @return string
* @example xmlize()
*/
public function xmlize($array, $options)
{
$encoding = isset($options['encoding']) ? $options[$encoding:'utf-8';
$root = isset($options['root']) ? $options['root': 'response';
$xml = "< ?xml version="1.0" encoding="{$encoding}"?> < $root> ”;
$xml .= self::_xmlize($array);
$xml .= “”;
return $xml;
}
private function _xmlize($array)
{
$string = ”;
foreach($array as $key => $value)
{
$stag = is_numeric($key) ? “item id=”$key”
" : $key;
$etag = is_numeric($key? “item” : $key;
if (is_array($value))
{
$string .= “< " . $stag . ">” . self::_xmlize($value. “ ”;
}
else
{
$string .= “< " . $stag . ">” . $value . “ ”;
}
}
return $string;
}

}
使用方法:

$api_data = array(
'status' => '200',
'message' => '成功',
'data' => array(
'account'=> array(
0 => array(
'id' => 15,
'plat' => 1,
'pay_account' => 'glemir@yahoo.cn'
)
,
1 => array(
'id' => 16,
'plat' => 2,
'pay_account' => 'test@gmail.com
)
)
)
);
header(
'Content-Type: text/xml');
$arrayob = new ArrayUtility();
$xml = $arrayob->xmlize($api_data); //这里可以加上编码的参数,默认utf-8
echo $xml;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值