【问题标题】:Convert a multidimensional array to an XML object in PHP [duplicate]在 PHP 中将多维数组转换为 XML 对象 [重复]
【发布时间】: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;

标签: php xml arrays object multidimensional-array


【解决方案1】:

这个问题很多

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

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

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

【讨论】:

  • 以前从未使用过 JSON。我会试一试的。我提到 XML 是因为我正在制作我自己的使用 XML 转换的开源项目版本。我试图修改它,但我把它弄坏了。
  • 更新:这是说我正在尝试获取非对象的属性。
  • 好的,这是非常糟糕的做法。看看这个答案:stackoverflow.com/a/4790485/801496这是更好的方法。
  • 我保留对不良做法的判断。两个内置函数调用与递归用户空间函数,老实说,我不确定什么是最好的方法,我怀疑它在很大程度上取决于您要转换的数组
猜你喜欢
  • 2017-02-16
  • 2017-06-20
  • 2020-08-10
  • 2013-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-28
  • 1970-01-01
相关资源
最近更新 更多