2011-03-25 84 views
1

这是一个嵌套的数组,我从我的数据库了,PHP:如何将一个嵌套数组变成一维数组?

Array 
(
    [0] => Array 
     (
      [Field] => blc_id 
      [Type] => int(10) unsigned 
      [Null] => NO 
      [Key] => PRI 
      [Default] => 
      [Extra] => auto_increment 
     ) 

    [1] => Array 
     (
      [Field] => blc_email 
      [Type] => varchar(255) 
      [Null] => YES 
      [Key] => 
      [Default] => 
      [Extra] => 
     ) 

    [2] => Array 
     (
      [Field] => cat_id 
      [Type] => varchar(255) 
      [Null] => YES 
      [Key] => 
      [Default] => 
      [Extra] => 
     ) 

    [3] => Array 
     (
      [Field] => blc_created 
      [Type] => timestamp 
      [Null] => NO 
      [Key] => 
      [Default] => 0000-00-00 00:00:00 
      [Extra] => 
     ) 

    [4] => Array 
     (
      [Field] => blc_updated 
      [Type] => timestamp 
      [Null] => NO 
      [Key] => 
      [Default] => CURRENT_TIMESTAMP 
      [Extra] => on update CURRENT_TIMESTAMP 
     ) 

) 

如何使用foreach循环得到下面的结果,

Array 
(
    [0] => blc_id 
    [1] => blc_email 
    [2] => cat_id 
    [3] => blc_created 
    [4] => blc_updated 
) 

这是到目前为止我的代码,但当然它不正确返回结果,

foreach($items as $outer_key => $array) 
{ 
    foreach($array as $inner_key => $value) 
    { 
     $field_name[] = $value; 
    } 
} 

谢谢。

+1

为什么你不改变你的查询,而不是处理结果与PHP? – Elwhis 2011-03-25 15:03:50

+0

我不知道如何改变我的查询......这里是 - 从'root_blocks'显示列。谢谢。 – laukok 2011-03-25 15:16:07

回答

5

我想你可以使用

foreach($items as $outer_key => $array) 
{ 
    $field_name[] = $array['Field']; 

} 
1

当你只需要从每一个子阵列中的第一项:

$field_names = array_map("current", $outer_key); 
1
$fields = array(); 

foreach($input_array as $value) 
    $fields[] = $value['Field']; 

print_r($fields); 
0
array_map(create_function('$a','return $a["Field"];'),$a) 
相关问题