Podés hacer algo así...
Código PHP:
<?php
foreach ($data as $row) {
echo '<tr><td>';
if (isset($ultima_categoria) && $ultima_categoria == $row['categoria']) echo '---------';
else echo $row['categoria'];
echo '</td><td>' , $row['subcategoria'] , '</td></tr>';
$ultima_categoria = $row['categoria']
}
?>