欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 数组 xml json xml相互转换的方法

程序员文章站 2022-04-04 22:26:54
...
首先,来看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 = GeorgeJohnReminderDon't forget the meeting! ccceee 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 = GeorgeJohnReminderDon't forget the meeting! ccceee 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);