在PHP中展平嵌套的JSON数组

时间:2017-07-12 21:45:51

标签: php arrays json

我需要在PHP中展平嵌套的JSON数组,我的列表是:

["Paris", "Barcelona", ["Glasgow", ["Sydney"]]]],"Budapest"] 

到目前为止,我有这段代码:

<?php
$array = [
'city' => [
    'Paris',
    'Berlin',
    'London',
],
];

$flattened = iterator_to_array(new RecursiveIteratorIterator(
    new RecursiveArrayIterator($array)
), false);

print_r($flattened);

我需要使用这个

print_r((new Flattener($jsonArray))→flatten());

此命令应返回一维PHP数组。

我缺少什么想法?

1 个答案:

答案 0 :(得分:0)

你需要

  1. 使用构造函数( __ construct )创建一个带有数组和
  2. 的类
  3. 创建一个flatten方法,它接受数组并展平它。
  4. 您可以使用的示例:

    class Flattener {
    
      private $array;
    
      public function __construct($array) {
        $this->array = $array;
      }
    
      public function flatten() {
        return iterator_to_array(new RecursiveIteratorIterator(
          new RecursiveArrayIterator($this->array)), false);
      }
    
    }
    
    print_r((new Flattener($array))->flatten());