php 数组转xml 数组转json xml转数…

来源:互联网 发布:知乎 it培训 编辑:程序博客网 时间:2024/04/29 04:50

array->xml

<?php
function array2xml($array, $tag) {

    functionia2xml($array) {
       $xml="";
       foreach ($array as $key=>$value) {
           if (is_array($value)) {
               $xml.="<$key>".ia2xml($value)."</$key>";
           } else {
               $xml.="<$key>".$value."</$key>";
           }
       }
       return $xml;
    }

    returnsimplexml_load_string("<$tag>".ia2xml($array)."</$tag>");
}

$test['type']='lunch';
$test['time']='12:30';
$test['menu']=array('entree'=>'salad','maincourse'=>'steak');

echo array2xml($test,"meal")->asXML();
?> 


xml->array

method1:

function xml2phpArray($xml,$arr){
       $iter = 0;
       foreach($xml->children() as $b){
           $a = $b->getName();
           if(!$b->children()){
               $arr[$a] = trim($b[0]);
           }else{
               $arr[$a][$iter] = array();
               $arr[$a][$iter] = xml2phpArray($b,$arr[$a][$iter]);
               $iter++;
           }
       }
       return $arr;
    }

$xml = <<<XML
<?xml version="1.0"encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget themeeting!</body>
<a><c>ccc</c><e>eee</e></a>
</note>
XML;

print_r(xml2phpArray(simplexml_load_string ( $xml ),array()));

method2:

function XML2Array ( $xml , $recursive = false )
{
    if ( !$recursive )
    {
       $array = simplexml_load_string( $xml ) ;
    }
    else
    {
       $array = $xml ;
    }
   
    $newArray =array () ;
    $array = (array ) $array ;
    foreach ($array as $key => $value )
    {
       $value = ( array ) $value;
       if ( isset ( $value [ 0 ] ))
       {
          $newArray [ $key ] = trim ($value [ 0 ] ) ;
       }
       else
       {
          $newArray [ $key ] = XML2Array( $value , true ) ;
       }
    }
    return$newArray ;
}

$xml = <<<XML
<?xml version="1.0"encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget themeeting!</body>
<a><b><c>ccc</c></b><e>eee</e></a>
</note>
XML;

print_r(XML2Array($xml));

json->array

json_decode($json,true);//第二个参数为true时 即为array

$json '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($jsontrue));

array->json

json_encode 数组-》json

$arr array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo 
json_encode($arr);