在 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 对象 [重复]的主要内容,如果未能解决你的问题,请参考以下文章