>  기사  >  백엔드 개발  >  PHP에서 XML을 배열로 변환하는 방법

PHP에서 XML을 배열로 변환하는 방법

青灯夜游
青灯夜游원래의
2021-02-24 11:00:223369검색

방법: 먼저 simplexml_load_string()을 사용하여 XML 문자열을 SimpleXMLElement 객체로 변환한 다음 json_encode()를 사용하여 객체를 JSON 데이터로 변환합니다. 마지막으로 json_decode()를 사용하여 JSON 데이터를 배열로 변환합니다.

PHP에서 XML을 배열로 변환하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php는 xml을 배열 번호로 변환

1. 기능:

/*
@desc:xml转数组
@param data xml字符串
@return arr 解析出的数组
*/
function xmltoarray($data){
$obj = simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA);
$json = json_encode($obj);
$arr = json_decode($json, true);      
return $arr;
}

simplexml_load_string () 함수 올바른 형식의 XML 문자열을 SimpleXMLElement 객체로 변환합니다.

json_encode()는 JSON 인코딩 변수에 사용됩니다. 이 함수는 성공적으로 실행되면 JSON 데이터를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

json_decode() 함수는 JSON 형식의 문자열을 디코딩하고 이를 PHP 변수(객체 또는 배열)로 변환하는 데 사용됩니다.

json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

Parameters

  • json_string: 디코딩할 JSON 문자열, UTF-8로 인코딩된 데이터여야 합니다.

  • assoc: 이 매개변수가 TRUE이면 배열이 반환되고, FALSE이면 개체가 반환됩니다. .

  • 깊이: 재귀 깊이를 지정하는 정수 유형의 매개변수

  • 옵션: 바이너리 마스크, 현재 JSON_BIGINT_AS_STRING만 지원됩니다.

2. 테스트:

a. 코드:

<?php
$string = <<<XML
<?xml version=&#39;1.0&#39;?> 
<document>
<title>Forty What?</title>
<from>Joe</from>
<to>Jane</to>
<body>
I know that&#39;s the answer -- but what&#39;s the question?
</body>
</document>
XML;
$arr = xmltoarray($string);
var_dump($arr);

b. 프로그래밍 관련 지식을 더 보려면

프로그래밍 비디오

를 방문하세요. !

위 내용은 PHP에서 XML을 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.