Maison >développement back-end >tutoriel php >php 数组 xml json xml相互转换的方法
首先,来看array->xml。
$value) {
首先,来看array->xml。 function ia2xml($array) { $xml=""; foreach ($array as $key=>$value) { if (is_array($value)) { $xml.="".ia2xml($value)."$key>"; } else { $xml.="".$value."$key>"; } } return $xml; } return simplexml_load_string("".ia2xml($array)."$tag>"); } $test['type']='lunch'; $test['time']='12:30'; $test['menu']=array('entree'=>'salad', 'maincourse'=>'steak'); echo array2xml($test,"meal")->asXML(); ?> 其次,xml->array。 方法一: 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 =
print_r(xml2phpArray(simplexml_load_string ( $xml ),array())); 方法二: 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 =
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); |