首页 >php教程 >PHP源码 >PHP object(SimpleXMLElement) 对象转换为数组

PHP object(SimpleXMLElement) 对象转换为数组

WBOY
WBOY原创
2016-06-06 09:32:321983浏览
跳至 [1] [2] [全屏预览]
object(SimpleXMLElement)[9]  
public 'result' => 
    object(SimpleXMLElement)[8]      
      public 'err_code' => string '0' (length=1)
      public 'model' => string '000000000000^000000000000' (length=26)
      public 'success' => string 'true' (length=4)
  public 'request_id' => string '000000000000' (length=13)

2. [代码]示例:PHP object(SimpleXMLElement) 对象转换为数组的方式     跳至 [1] [2] [全屏预览]

class xml{
     
    /**
    * object(SimpleXMLElement) 对象转换为数组
    * convert simplexml object to array sets
    * $array_tags 表示需要转为数组的 xml 标签。例:array('item', '')
    * 出错返回False
    *
    * @param object $simplexml_obj
    * @param array $array_tags
    * @param int $strip_white 是否清除左右空格
    * @return mixed
    */
    public static function toArray($simplexml_obj, $array_tags=array(), $strip_white=1)
    {    
        if( $simplexml_obj )
        {
            if( count($simplexml_obj)==0 )
                return $strip_white?trim((string)$simplexml_obj):(string)$simplexml_obj;
      
            $attr = array();
            foreach ($simplexml_obj as $k=>$val) {
                if( !empty($array_tags) && in_array($k, $array_tags) ) {
                    $attr[] = self::toArray($val, $array_tags, $strip_white);
                }else{
                    $attr[$k] = self::toArray($val, $array_tags, $strip_white);
                }
            }
            return $attr;
        }
          
        return false;
    }
}
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn