ホームページ >バックエンド開発 >PHPチュートリアル >多次元 PHP 配列を SimpleXML オブジェクトに効率的に変換するにはどうすればよいですか?
PHP での配列の SimpleXML への変換
PHP で XML データを操作する場合、作業を容易にするために配列を SimpleXML オブジェクトに変換する必要がある場合があります。処理と操作。
配列を 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 中国語 Web サイトの他の関連記事を参照してください。