【问题标题】:How to flatten array of arrays to array? [duplicate]如何将数组数组展平为数组? [复制]
【发布时间】:2011-11-03 00:49:43
【问题描述】:

可能重复:
How to “flatten” a multi-dimensional array to simple one in php?
How to Flatten a Multidimensional Array?

如果我有这个代码:

$a = array('a','b',array('c','d'));

我想知道是否有一个函数可以将所有内部数组转换为它们的元素,所以结果是:

$a = array('a','b','c','d');

所以我只有内部数组的元素,没有数组。

【问题讨论】:

标签: php arrays multidimensional-array


【解决方案1】:

以下内容如何:

<?php 
/** 
 * Flattens an array, or returns FALSE on fail. 
 */ 
function array_flatten($array) { 
  if (!is_array($array)) { 
    return FALSE; 
  } 
  $result = array(); 
  foreach ($array as $key => $value) { 
    if (is_array($value)) { 
      $result = array_merge($result, array_flatten($value)); 
    } 
    else { 
      $result[$key] = $value; 
    } 
  } 
  return $result; 
} 
?>

(在http://php.net/manual/en/function.array-values.php的cmets中找到)

问候 最大

【讨论】:

    【解决方案2】:

    我在http://php.net/manual/en/function.array-values.php 上找到了以下示例。

    function array_flatten($array) {
      if (!is_array($array)) {
        return FALSE;
      }
      $result = array();
      foreach ($array as $key => $value) {
        if (is_array($value)) {
          $result = array_merge($result, array_flatten($value));
        }
        else {
          $result[$key] = $value;
        }
      }
      return $result;
    } 
    

    【讨论】:

      猜你喜欢
      • 2020-10-17
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 2022-10-01
      • 2015-07-21
      相关资源
      最近更新 更多