zoukankan      html  css  js  c++  java
  • 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);

    时不我待,不负韶华!立刻行动!不吃学习的苦就会吃生活的苦!
  • 相关阅读:
    js设计模式 -- 装饰模式
    前端项目开发(持续补充中)
    URL地址解析
    line-height有无单位区别
    HTTP请求Response Headers
    HTTP请求Request headers
    docker快速入门
    关于layui动态生成文件上传按钮后点击无效的解决办法
    未证实的一个BUG
    实现一个简单的概率发奖问题
  • 原文地址:https://www.cnblogs.com/zrp2013/p/3499620.html
Copyright © 2011-2022 走看看