如何将数组数组展平为数组?

时间:2011-08-24 17:35:18

标签: php arrays multidimensional-array

  

可能重复:
  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');

所以我只有内部数组的元素而不是数组。

2 个答案:

答案 0 :(得分: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的评论)

此致 最大

答案 1 :(得分:1)

我在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;
} 
相关问题