>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으로 문의하세요.