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

array->xml

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

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

    return simplexml_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(more use):

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 the meeting!</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 the meeting!</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($json, true));

array->json

json_encode 数组-》json

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

echo json_encode($arr);