我想计算数组中重复的 order_id 并根据表格单元格上的结果打印行跨度。我不确定如何使用 php 来实现这一点,不胜感激。
我有这样的php数组:
Array (
[0] => Array
(
[order_id] => 1374282003
[status] => 1
[mark] => Casio
[model] => W-81
[price] => 10.00
)
[1] => Array
(
[order_id] => 1374282003
[status] => 1
[mark] => Casio
[model] => W-81
[price] => 10.00
)
[2] => Array
(
[order_id] => 1374282573
[status] => 1
[mark] => Casio
[model] => W-81
[price] => 10.00
)
[3] => Array
(
[order_id] => 1374282573
[status] => 1
[mark] => Casio
[model] => W-81
[price] => 10.00
)
[4] => Array
(
[order_id] => 1374282573
[status] => 1
[mark] => Casio
[model] => W-81
[price] => 10.00
)
)
我想像这样在表格单元格上使用行跨度
<table>
<tr>
<td>Order</td>
<td>Product</td>
<td>Price</td>
<td>Status</td>
</tr>
<tr>
<td rowspan="2">1374282003</td>
<td>Casio</td>
<td>10</td>
<td>1</td>
</tr>
<tr>
<td>Casio</td>
<td>10</td>
<td>1</td>
</tr>
<tr>
<td rowspan="3">1374282573</td>
<td>Casio</td>
<td>10</td>
<td>1</td>
</tr>
<tr>
<td>Casio</td>
<td>10</td>
<td>1</td>
</tr>
<tr>
<td>Casio</td>
<td>10</td>
<td>1</td>
</tr>
</table>
这是数组循环的代码
<?php
$rowspan = array_count_values(array_map(function($item) { return $item['order_id']; }, $result));
foreach( $result as $row) {
?>
<tr>
<td rowspan="<?php echo $rowspan[$row['order_id']]"><?php echo $row['order_id']; ?></td>
<td><?php echo $row['mark']. " " .$row['model']; ?></td>
<td>1</td>
<td><?php echo number_format($row['price'], 2, '.', ','); ?> kuna</td>
<td><?php echo $row['status']; ?></td>
</tr>
<?php } ?>