-1

関数で次元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;

}

4

1 に答える 1

1

の戻り値を使用していませんarrayToXml($value,$render);が、に割り当てる必要があります$render

// …
if(is_array($value)){
    $render .= '<' . $key . '>';
    $render .= arrayToXml($value,$render);
}

また、PHP配列をXMLに変換するためのすぐに使用できるスクリプトがWeb上にたくさんあることにも注意してください。たとえば、http://snipplr.com/view/3491/

于 2012-07-31T13:31:19.590 に答える