PHP:将多维数组转换为单维数组


PHP: Converting multidimensional array to single dimension

我有一个这样的数组:

Array ( 
  [0] => Array ( [fa-glass ] => "'f000" ) 
  [1] => Array ( [fa-music ] => "'f001" ) 
  [2] => Array ( [fa-search ] => "'f002" ) 
  [3] => Array ( [fa-envelope-o ] => "'f003" ) 
  [4] => Array ( [fa-heart ] => "'f004" ) 
  [5] => Array ( [fa-star ] => "'f005" ) 
)

但我想把它扁平化,所以它的回报:

Array (
  fa-glass => "'f000",
  fa-music => "'f001",
  fa-search => "'f002",
  fa-envelope-o => "'f003",
  fa-heart => "'f004",
  fa-star => "'f005"     
)

我已经尝试了一些递归函数,但似乎无法正确确定它。我最近尝试的是:

$newArray = array();
foreach($bootstrap_icon_array as $array) {
 foreach($array as $k=>$v) {
   $newArray[$k] = $v;
 }
}

该函数的结果是:

Array ( 
  [fa-glass ] => Array ( [0] => glass [1] => "'f000" ) 
  [fa-music ] => Array ( [0] => music [1] => "'f001" ) 
  [fa-search ] => Array ( [0] => search [1] => "'f002" ) 
  etc...
)

感谢您的帮助!

有很多

方法可以做到,简单试试这个方式

$result = call_user_func_array('array_merge', $array);
echo "<pre>";
print_r($result);
echo "</pre>";

看起来我的代码工作正常,但我不是从数组中传递回一个值,而是在数组中重新传递回去。

例:

   $newArray[] = $array;

而不是

  $newArray[] = $array[1];

我这边的愚蠢错误。