Example #1
0
 /**
  * 将数组转换成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 : '';
     }
 }