【问题标题】:Flatten Arrays While Retaining Keys在保留键的同时展平阵列
【发布时间】:2016-02-02 10:02:49
【问题描述】:

如何在保留其键的同时展平数组?

比如说我有以下数组:

array (size=2)
  0 => 
    array (size=1)
      'bonus' => float 20
  1 => 
    array (size=1)
      'bonus_percent' => float 2
      array (size=1)
         'bonus_all' => float 22

我怎样才能将它“扁平化”成这样? :

array (size=2)
  'bonus' => float 20
  'bonus_percent' => float 2
  'bonus_all' => float 22

我也从 SO 中找到了这个函数,这导致了当前的结果。

$objTmp = (object) array('aFlat' => array());

array_walk_recursive($results, create_function('&$v, $k, &$t', '$t->aFlat[] = $v;'), $objTmp);

var_dump($results);

【问题讨论】:

  • 向我们展示您的尝试

标签: php arrays


【解决方案1】:

如果没有更深层次需要展平,循环可能比使用array_walk_recursive() 更简单。

类似:

$original = array(...);
$result = array();

foreach ($original as $value) {
    $result += $value;
}

【讨论】:

    猜你喜欢
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 2023-01-13
    • 2017-07-13
    • 2014-03-29
    • 2021-05-29
    • 1970-01-01
    相关资源
    最近更新 更多