1. ホーム
  2. php

[解決済み】配列をSimpleXMLに変換する方法

2022-03-29 03:10:01

質問

PHP で配列を SimpleXML オブジェクトに変換するにはどうすればよいのでしょうか?

どのように解決するのですか?

短いものです。

<?php

$test_array = array (
  'bla' => 'blub',
  'foo' => 'bar',
  'another_array' => array (
    'stack' => 'overflow',
  ),
);
$xml = new SimpleXMLElement('<root/>');
array_walk_recursive($test_array, array ($xml, 'addChild'));
print $xml->asXML();

の結果

<?xml version="1.0"?>
<root>
  <blub>bla</blub>
  <bar>foo</bar>
  <overflow>stack</overflow>
</root>

キーと値が入れ替わっています。 array_flip() の前に、array_walk を実行します。 array_walk_recursive はPHP 5を必要とします。 array_walk が表示されません。 'stack' => 'overflow' をxmlに追加しました。