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:
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);