2013-02-27 255 views
0

我有2 x二維數組與數據庫返回值。php合併2個陣列

目前我在做一個foreach循環,並把返回的值到一個單獨的表,每個陣列:

如:

<table> 
    <tr> 
     <td>Auto Bavaria Midrand BMW</td> 
     <td>63</td> 
     <td>39</td> 
    </tr> 
    ... 
</table> 
<table> 
<tr> 
    <td>Auto Bavaria Midrand BMW</td> 
    <td>40</td> 
    <td>15</td> 
    ... 
</tr> 
</table> 

但我需要在此格式返回值,只有1表:

<table> 
    <tr> 
    <td>Auto Bavaria Midrand BMW</td> 
    //the name of the record does not need to be repeated, only the values 
    <td>63</td> 
    <td>39</td> 
    <td>40</td> //values from 2nd array 
    <td>15</td> // values from 2nd array 
    </tr> 
     ...//next record set 
</table> 

Array 
(
    [0] => Array 
     (
      [DealerName] => Auto Bavaria Midrand BMW 
      [dealersContacted] => 63 
      [DealerContact_Y] => 39 
      [DealerContact_N] => 15 
      [DealerShipId] => 21730 
      [DataId] => 23527 
     ) 
    //extra returned records 
) 

Array 
(
    [0] => Array 
     (
      [DealerName] => Auto Bavaria Midrand BMW 
      [dealersContacted] => 65 
      [DealerContact_Y] => 40 
      [DealerContact_N] => 15 
      [DealerShipId] => 21730 
      [DataId] => 23527 
     ) 

    //extra returned records 
) 

我可以做PHP的一面,我的問題是如果有一個數組函數,可以只合並數組的所需位?我已經搜索,越來越困惑。

+0

我認爲他給出的兩個例子應該是不同的。是的,你需要自己循環通過陣列 - 沒有神奇的內置功能。 – zaf 2013-02-27 09:21:37

回答

0

從數據庫中獲取數據時,您應該更改構建數組的方式,以便代替無意義的數字索引,獲得有意義的鍵。在你上面的例子中,你可能想用DealerName作爲關鍵。這樣,當您檢索物品時,只需將它們添加到適當的位置即可。例如:

while($rows = fetch_from_db($res)) { 
    $output[$rows['DealerName']]['dealersContacted'] = $rows['dealersContacted']; 
    $output[$rows['DealerName']]['DealerContact_Y'] = $rows['DealerContact_Y']; 
    // Add more keys here 
} 

這樣,當您完成檢索兩個結果集時,只剩下一個數組。您還應該計劃如何處理雙重索引,例如您的示例中提及的經銷商。

+0

謝謝,這很有意義。 – user1882752 2013-02-27 09:24:55