• xml=>数组


    /**
     * XML转化为数组
     *
     * @author 何洋 2016-3-17 14:37:20
     */
    function xml_to_array($xml){
        $reg = "/<(\w+)[^>]*?>([\x00-\xFF]*?)<\/\1>/";
        if(preg_match_all($reg, $xml, $matches)){
            $count = count($matches[0]);
            $arr = array();
            for($i = 0; $i < $count; $i++){
                $key= $matches[1][$i];
                $val = xml_to_array( $matches[2][$i] );  // 递归
                if(array_key_exists($key, $arr)){
                    if(is_array($arr[$key])){
                        if(!array_key_exists(0,$arr[$key])){
                            $arr[$key] = array($arr[$key]);
                        }
                    }else{
                        $arr[$key] = array($arr[$key]);
                    }
                    $arr[$key][] = $val;
                }else{
                    $arr[$key] = $val;
                }
            }
            return $arr;
        }else{
            return $xml;
        }
    }
    /**
     * 对象转数组
     *
     * @author 何洋 2016-3-9 10:27:14
     */
    function object_array($obj){
        $_arr = is_object($obj) ? get_object_vars($obj) :$obj;
        foreach ($_arr as $key=>$val){
            $val = (is_array($val) || is_object($val)) ? object_to_array($val):$val;
            $arr[$key] = $val;
        }
        return $arr;
    }
  • 相关阅读:
    9月9日刷题
    7-4日刷题
    7-3日刷题
    7-2日刷题
    The Key To Accelerating Your Coding Skills
    初识机器学习
    python数据分析与量化交易
    部署远程jupyter
    SQLserver2008一对多,多行数据显示在一行
    kvm虚拟化
  • 原文地址:https://www.cnblogs.com/heyang71212/p/5378641.html
Copyright © 2020-2023  润新知