/** * 将数组转换成xml * @param $data array 调用时只需传入此参数 * @param $key string 内部递归时使用 * @return xml|void; */ public static function array2xml($data, $key = '') { if (!is_array($data)) { return $data; } else { foreach ($data as $k => $v) { if (is_numeric($k)) { $xml .= "<{$key}>" . Fn::array2xml($v) . "</{$key}>\n"; } else { if (is_array($v) && array_keys($v) === range(0, count($v) - 1)) { $xml .= Fn::array2xml($v, $k); } else { $xml .= "<{$k}>" . Fn::array2xml($v, $k) . "</{$k}>\n"; } } } return $xml ? $xml : ''; } }