在 PHP 中将多维数组转换为 XML 对象 [重复]

Posted

技术标签:

【中文标题】在 PHP 中将多维数组转换为 XML 对象 [重复]【英文标题】:Convert a multidimensional array to an XML object in PHP [duplicate] 【发布时间】:2014-03-08 04:58:40 【问题描述】:

我有一个这样的多维数组:

$array = array(

    "hello" => "hola",

    "another_array" => array(
        "key" => "best key ever",
        "another" => "yes, another key",
     ),

    "coolarray" => array(
        "bool" => true,
        "string" => "this is a string!",
    ),
);

我想要这样的课程:

class MyClass 

    public $array;

    public function __construct($array) 
        // something
        $this->array_to_xml($array);
    

    public function array_to_xml($array) 
        // convert array to xml
    

然后我希望能够做这样的事情:

$string = $this->array->coolarray->string;

我该怎么做?

【问题讨论】:

@Martijn 我已经尝试了其中的 3 个答案,但我仍然不知道如何将它用作这样的对象:$string = $this->array->coolarray->string; 【参考方案1】:

这个问题很多

不知道你为什么提到 XML,听起来你只是想要一个对象。

例如看这个答案: https://***.com/a/11854285/543455

$obj = json_decode(json_encode($array));

【讨论】:

以前从未使用过 JSON。我会试一试的。我提到 XML 是因为我正在制作我自己的使用 XML 转换的开源项目版本。我试图修改它,但我把它弄坏了。 更新:这是说我正在尝试获取非对象的属性。 好的,这是非常糟糕的做法。看看这个答案:***.com/a/4790485/801496这是更好的方法。 我保留对不良做法的判断。两个内置函数调用与递归用户空间函数,老实说,我不确定什么是最好的方法,我怀疑它在很大程度上取决于您要转换的数组

以上是关于在 PHP 中将多维数组转换为 XML 对象 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

PHP递归函数将多维数组转换为xml

在 Symfony2 中将多维数组转换为点表示法

在 php 中将 XML 文档转换为数组时,有没有办法将其转换回来并将其保存为属性为元素的 XML 文件?

PHP - 递归数组到对象?

在 PHP 中将 JSON 转换为 XML,但在 XML 中为 JSON 数组创建一个容器元素

在 PHP 中将多维关联数组展平为一维引用数组