PHP 对象转换为对应的数组

来源:互联网 发布:汕头排名优化公司 编辑:程序博客网 时间:2024/05/16 19:18
<?php/** * 将对象转换为相应的数组 * @author beggar 770793038@qq.com * @param type $obj * @return boolean */function Obj2Array($obj){    if(!is_object($obj)){        return false;    }    if(count($obj) >= 1){        $result = $keys = array();        foreach($obj as $key=>$val){            isset($keys[$key]) ? $keys[$key] += 1 : $keys[$key] = 1;            if($keys[$key] == 1){                $result[$key] = Obj2Array($val);            }elseif($keys[$key] == 2){                $result[$key] = array($result[$key], Obj2Array($val));            }elseif($keys[$key] > 2){                $result[$key][] = Obj2Array($val);            }        }        return $result;    }elseif(count($obj) == 0){        return (string)iconv('utf-8', 'gbk//IGNORE', $obj);    }}$xml = "<?xml version='1.0' encoding='utf-8' ?>";$xml .= '<root>';$xml .= '<result><![CDATA[100]]></result>';$xml .= '<message><![CDATA[获取成功]]></message>';$xml .= '<userlist>';$xml .= '<user>';$xml .= '<name><![CDATA[beggar]]></name>';$xml .= '<sex><![CDATA[男]]></sex>';$xml .= '</user>';$xml .= '</userlist>';$xml .= '</root>';$xml = iconv('gbk', 'utf-8//IGNORE', $xml);$xmlObj = simplexml_load_string($xml);$list = Obj2Array($xmlObj);print_r($list);


在处理以xml作为传输数据的接口时,非常有用,节省了很多时间,省去了手动转换对应节点

0 0
原创粉丝点击