<?php
$arr = array(
0 => array('first_name' => 'Ace', 'last_name' => 'Jones'),
1 => array('first_name' => 'Aron', 'last_name' => 'Jones'),
2 => array('first_name' => 'Ben', 'last_name' => 'Jones'),
3 => array('first_name' => 'Billy', 'last_name' => 'Jones'),
4 => array('first_name' => 'Barney', 'last_name' => 'Jones'),
5 => array('first_name' => 'Con', 'last_name' => 'Jones'),
6 => array('first_name' => 'Dan', 'last_name' => 'Jones'),
7 => array('first_name' => 'Earl', 'last_name' => 'Jones'),
8 => array('first_name' => 'East', 'last_name' => 'Jones'),
9 => array('first_name' => 'Fez', 'last_name' => 'Jones')
);
sort($arr); // ensure correct order
$html = '';
foreach($arr as $k => $v) {
if(substr($v['first_name'], 0, 1) != $previous) {
$html .= '<tr><td>' . substr($v['first_name'], 0, 1) . '</td>';
} else {
$html .= '<tr><td> </td>';
}
$html .= '<td>' . $v['first_name'] . '</td>';
$html .= '<td>' . $v['last_name'] . '</td></tr>';
$previous = substr($v['first_name'], 0, 1);
}
?>
<table rules="all" style="border: 1px solid blue;" cellspacing="2" cellpadding="2">
<tr>
<td>Label</td>
<td>First Name</td>
<td>Last Name</td>
</tr>
<?php echo $html; ?>
</table>