2011-03-25 124 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) 
相關問題