This was my eventual solution to order tags in wordpress by the second word - in this case last name, and then split that into 3 columns - that seems to be working.
There is prob a more concise way to write this. Thanks for the responses.
<h2><?php
//empty arrays
$firstn = array();
$lastn = array();
$lastn2 = array();
$link = array();
//populate the above arrays
$tags = get_tags();
foreach ($tags as $tag ) {
$piece = $tag->slug;
$pieces = explode("-",$piece);
array_push($firstn,$pieces[0]);
array_push($lastn,$pieces[1]);
array_push($lastn2,$pieces[2]);
array_push($link, get_tag_link ($tag->term_id));
}
//extract values of arrays and sort alpha by last name
$firstname = array_values($firstn);
$lastname = array_values($lastn);
asort($lastname);
$lastname2 = array_values($lastn2);
$taglinks = array_values($link);
//new array that is combination of first, last and link
$all = array();
//populate $all
foreach($lastname as $key=>$value) {
$all[$value][0] = $value;
$all[$value][1] = $firstname[$key];
$all[$value][2] = $taglinks[$key];
$all[$value][3] = $lastname2[$key];
//count number of names
$number = count($all);
// get number for chunk value
$chunk_value = round($number / 3) ;
}
//array of 3 columns
$col = array();
//split into 3
$col = array_chunk($all, $chunk_value, true);
//column 1 values
$column1 = array_values($col[0]);
//colum 2 values
$column2 = array_values($col[1]);
//column 3 values
$column3 = array_values($col[2]);
//display content
?>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td valign="top"><?php foreach ($column1 as $key=>$value) {
echo '<a href="'. $value[2] .'" rel="tag">'.
$value[1].' '.$value[0].' '.$value[3].'</a><br />' ;
} ?></td><td valign="top"><?php foreach ($column2 as $key=>$value) {
echo '<a href="'. $value[2] .'" rel="tag">'.
$value[1].' '.$value[0].' '.$value[3].'</a><br />' ;
} ?></td>
<td valign="top"><?php foreach ($column3 as $key=>$value) {
echo '<a href="'. $value[2] .'" rel="tag">'.
$value[1].' '.$value[0].' '.$value[3].'</a><br />' ;
} ?></td></tr>
</table>
</h2>