繁体   English   中英

用PHP展平嵌套的JSON数组

[英]Flatten a Nested JSON Array in PHP

我需要在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. 创建一个带有构造函数( __construct )的类,该构造函数采用数组并
  2. 创建一个flatten方法,该方法采用数组并将其展平。

您可以使用以下示例:

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());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM