2015-12-02 42 views
0

我有這個陣列中的PHP重組的陣列

$fields = array(
    0 => array(
     'field1' => 'something1', 
     'field2' => 'something2' 
    ) 
) 

,我需要它看起來像這樣

$fields = array(
    'fields1' => 'something1', 
    'fields2' => 'something2' 
) 

我可以使用哪些功能代碼的例子擺脫0指數?

+0

如果'$ fields'數組有多個元素? – vitozev

+0

使示例1看起來像示例2並沒有真正告訴我們您的最終目標是什麼,您是否需要計劃多個元素,還是隻需要第一個元素? –

回答

0

可以遍歷像這樣...

創建新陣列

$newArray = []; 

然後遍歷

foreach($fields as $field){ 

    if(is_array($field)){   
     foreach($field as $key => $value){ 
      $newArray[$key] = $value; 
     } 
    } 

} 
0

到$字段創建一個數組,循環,和合並任何項目有創建的數組。

$final_array = array(); 

foreach ($fields as $field) 
{ 
    $final_array = array_merge($final_array, $field); 
} 

$fields = $final_array; 

這將能夠處理數組中任意級別的任意數量的項目,並將它們壓縮爲一個一級數組。

0

只取 '0' 元素的字段:

$fields=$fields[0]; 
0

簡單

 $fields = reset($fields); 

或者

 $fields = array_shift($fields); 
0
$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($data)); $list = iterator_to_array($it,false); 

使用此得到任何額外水平的車程。 會給你你想要的