2017-02-01 86 views
0

有一種方法來改造變換數組關聯數組

array(
    array(
     'id' => 'id_3', 
     'bla' => 'bla' 
    ) 
) 

array(
    'id_3' => array(
     'id' => 'id_3', 
     'bla' => 'bla' 
    ) 
) 

array_map()或者是返回數組任何其他PHP函數?

+1

'$新=陣列( 'ID_3'=> array_pop($原件));'給你想從你的例子中得到的結果。但是你想要做的事非常不清楚。不能看到任何邏輯。你可以自己嘗試一下,並在這裏顯示代碼。 – JustOnUnderMillions

+3

'$ array = array_combine(array_column($ array,'id'),$ array);' –

+0

thx @MarkBaker多數民衆贊成我正在尋找。不知道爲什麼我的問題被低估了。你能解答你的答案嗎? – user3815910

回答

0

這是一個自定義功能,希望這將是有益的,對你:

$input = array(
    array(
     'id' => 'id_1', 
     'ala' => 'ala' 
    ), 
    array(
     'id' => 'id_2', 
     'bla' => 'bla' 
    ), 
    array(
     'id' => 'id_3', 
     'cla' => 'cla' 
    ) 
); 

function reorder($input){ 
    $result = array(); 
    foreach ($input as $key => $array) { 
     $result[$array['id']] = $array; 
    } 
    return $result; 
} 

print_r($input); 
print_r(reorder($input)); 

感謝