我从数据库中的两个不同表中提取数据。一旦我拥有了我所需要的全部内容,我想要将这些数组合并打印到HTML表格中。组合数组将不会显示在单个表格行中
它们都结合在一起,但从它看起来array_merge
正在将第二个数组追加到第一个数组中,就像它应该那样。但是,我的问题是,当我从新组合数组中的数据创建一个表时,它将在一行中显示我想从第一个数组获得的所有字段,并在第二行显示第二个数组中的所有数据。有没有办法强制array_merge 100%将数组合并成一个?
$names = Array (
[0] => Array (
[PointID] => -3621
[AddressID] => -503718
[CommonName] => AARONS
[MapDataID] => -2
[AlternateAddressID] =>
[GISObjectID] => 28
[DateChanged] => 2013-06-19 13:48:44.947
[EnteredDate] => 2010-09-21 08:21:26.847
)
)
$addressInfo= Array (
[0] => Array (
[AddressID] => -503718
[LocationType] => 1
[HouseNumber] => XXXX
[AdditionalInfo] =>
[...]
)
)
阵列一旦合并:
Array (
[0] => Array ([PointID] => -3621 [AddressID] => -503718 [CommonName] => XXXXX)
[1] => Array ([AddressID] => -503718 [LocationType] => 1
[HouseNumber] => XXXX [AdditionalInfo] => [StreetPrefix] => N
[StreetPreType] => [StreetName] => XXXX [StreetType] => AVE
[StreetSuffix] => [Apt] => [XStreetPrefix] => [XStreetPreType] =>
[XStreetName] => [XStreetType] => [XStreetSuffix] => [VenueName] => XXXX
[City] => XXXXX [vsState] => 52 [Zip] => XXXX)
)
代码:
echo "<table>
<tr>
<th>CN</th>
<th>House#</th>
<th>St Name</th>
<th>St Prefix</th>
<th>St Type</th>
<th>City</th>
<th>Zip</th>
</tr>";
//Combine the arrays into one
$output = array_merge($names, $addressInfo);
print_r($output);
//Run a loop
foreach ($output as $test)
{
echo "<tr>";
echo "<td>".$test['CommonName']."</td>";
echo "<td>".$test['HouseNumber']."</td>";
echo "<td>".$test['StreetName']."</td>";
echo "<td>".$test['StreetPrefix']."</td>";
echo "<td>".$test['StreetType']."</td>";
echo "<td>".$test['City']."</td>";
echo "<td>".$test['Zip']."</td>";
echo "</tr>";
}
echo "</table>";
该死!这很好!非常感谢soooo!我终于用自己的for循环来想出它,但是你的方法效率提高了十亿倍,所以我就这么做了!再次感谢! –
Coool :-)请加我的答案。祝你的项目好运。 – Thibault