我有2个2D数组,其中包含从数据库返回的值。
目前我正在进行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>
但是我需要以这种格式返回值,只有一个表:
<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 :(得分: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
}
当你完成两个结果集的检索时,你只剩下一个数组。您还应该计划如何处理双重索引,例如您的示例中的dealerContacted。