2014-10-03 52 views
2

如何去做出如下數組:陣列翻轉和合並多個陣列

Array 
(
    [0] => Array 
     (
      [r_id] => 1 
      [r_rate] => 180.00 
     ) 

    [1] => Array 
     (
      [r_id] => 2 
      [r_rate] => 100.00 
     ) 

    [2] => Array 
     (
      [r_id] => 3 
      [r_rate] => 100.00 
     ) 

    [3] => Array 
     (
      [r_id] => 4 
      [r_rate] => 100.00 
     ) 

) 

是這樣的:(數組值R_ID =數組鍵,與R_RATE值)

Array 
(
    [1] => 180.00 // [r_id] => [r_rate] 
    [2] => 100.00 
    [3] => 100.00 
    [4] => 100.00 

) 

我試過使用array_fliparray_merge並循環遍歷數組,但收效甚微。陣列名稱是$r_id

+0

'array_flip'輪流值放入鑰匙,但鑰匙必須是字符串或數字,就不能是數組。 – Barmar 2014-10-03 05:06:10

+1

'array_merge'用於組合兩個數組,但您只有一個數組,我沒有看到您希望如何提供幫助。 – Barmar 2014-10-03 05:06:39

+1

如果你展示了你試圖編寫的循環,這將是有用的,所以我們可以解釋你錯誤的地方,你會從中學習。 – Barmar 2014-10-03 05:07:25

回答

1

你可以只使用一個簡單的foreach用於此目的:

foreach($original_array as $values) { 
    $new_array[$values['r_id']] = $values['r_rate']; 
     // ^so the r_id assign it as key^and the rate becomes the values 
} 

所以最後你只會得到一個平坦的陣列。

1

這是一個簡單的循環:

$result = array(); 
foreach ($r_id as $element) { 
    $result[$element['r_id']] = $element['r_rate']; 
}