Display tags in 3 columns

<?php
$tags = get_terms('post_tag');
$groups = array('name__like' => "a", 'order' => 'ASC');
$tags_count = count($tags);
$count = intval( $tags->count );
$percolumn = ceil($tags_count / 3);
 
for ($i = 0;$i < $tags_count;$i++):
if ($i < $percolumn):
$tag_left .= '
<li><a href="'. get_tag_link($tags[$i]->term_id) . '"rel="tag">' . $tags[$i]->name .' (' . $tags[$i]->count . ')</a></li>
' . "\n";
elseif ($i >= $percolumn && $i < $percolumn*2):
$tag_mid .= '
<li><a href="'. get_tag_link($tags[$i]->term_id) . '"rel="tag">' . $tags[$i]->name .'  (' . $tags[$i]->count . ')</a></li>
' . "\n";
elseif ($i >= $percolumn*2):
$tag_right .= '
<li><a href="'. get_tag_link($tags[$i]->term_id) . '"rel="tag">' . $tags[$i]->name .' (' . $tags[$i]->count . ')</a></li>
' . "\n";
endif;
endfor;
?>
 
<ul class="taglist">
<?php echo $tag_left; ?>
</ul>
 
<ul class="taglist">
<?php echo $tag_mid; ?>
</ul>
 
<ul class="taglist">
<?php echo $tag_right; ?>
</ul>