PHP에서 배열을 SimpleXML로 변환
PHP에서 XML 데이터로 작업할 때 용이한 작업을 위해 배열을 SimpleXML 객체로 변환해야 할 수 있습니다. 처리 및 조작.
Array to XML 기능 변환
다음은 다차원 배열을 SimpleXML 객체로 변환하는 데 사용할 수 있는 PHP 함수입니다:
function array_to_xml( $data, &$xml_data ) { foreach( $data as $key => $value ) { if( is_array($value) ) { if( is_numeric($key) ){ $key = 'item'.$key; //dealing with <0/>..<n/> issues } $subnode = $xml_data->addChild($key); array_to_xml($value, $subnode); } else { $xml_data->addChild("$key",htmlspecialchars("$value")); } } }
사용 예
다음 배열을 고려하세요.
$data = array('total_stud' => 500, 'student' => array( 0 => array( 'id' => 1, 'name' => 'abc', 'address' => array( 'city' => 'Pune', 'zip' => '411006' ) ), 1 => array( 'id' => 2, 'name' => 'xyz', 'address' => array( 'city' => 'Mumbai', 'zip' => '400906' ) ) ) );
이 배열을 다음으로 변환하려면 XML의 경우 SimpleXMLElement 개체를 생성할 수 있습니다.
$xml_data = new SimpleXMLElement('<?xml version="1.0"?><student_info></student_info>');
그런 다음 array_to_xml 함수를 호출합니다.
array_to_xml($data, $xml_data);
이렇게 하면 다음 XML이 생성됩니다.
<?xml version="1.0"?> <student_info> <total_stud>500</total_stud> <student> <id>1</id> <name>abc</name> <address> <city>Pune</city> <zip>411006</zip> </address> </student> <student> <id>1</id> <name>abc</name> <address> <city>Mumbai</city> <zip>400906</zip> </address> </student> </student_info>
그런 다음 필요에 따라 생성된 XML을 저장하거나 처리할 수 있습니다.
위 내용은 다차원 PHP 배열을 SimpleXML 개체로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!