我希望我的函数将维度N的数组转换为xml,但它不起作用。 任何人都能指出我正确的方向吗?
function arrayToXml($array,$render = ""){
if(!is_array($array)){
return $array;
}
foreach ($array as $key => $value) {
if(is_array($value)){
$render .= '<' . $key . '>';
arrayToXml($value,$render);
}
else {
$render .= '<' . $key . '>';
$render .= $value;
$render .= '</' . $key . '>';
}
}
return $render;
}
好的,我找到了解决方案:
function arrayToXml($array,$render = ""){
if(!is_array($array)){
return $array;
}
foreach ($array as $key => $value) {
if(is_array($value)){
$render .= '<' . $key . '>';
$render = arrayToXml($value,$render);
$render .= '</' . $key . '>';
}
else {
$render .= '<' . $key . '>';
$render .= $value;
$render .= '</' . $key . '>';
}
}
return $render;
}
答案 0 :(得分:1)
您没有使用arrayToXml($value,$render);
的返回值,但您也需要将其指定给$render
。
// …
if(is_array($value)){
$render .= '<' . $key . '>';
$render .= arrayToXml($value,$render);
}
另请注意,可以在Web上找到大量可立即使用的脚本,以将PHP数组转换为XML。例如http://snipplr.com/view/3491/。