在保留键的同时展平阵列

时间:2015-11-02 13:42:53

标签: php arrays

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

比如说我有以下数组:

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

1 个答案:

答案 0 :(得分:2)

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

类似的东西:

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

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