- array_reverse: documentation ( source)
- implode: documentation ( source)
<?php
$arr = array('a', 'b', 'c', 'd', 'e', 'f');
//$str = implode(array_walk(array_reverse($arr), function($v,$k){if($k%3==0)$v.=';';}));
//print_r(array_map(function($v){if($k%3==0)$v.=';';}), array_reverse($arr));
$str = str_chunk(implode(array_reverse($arr)), 3, ';');
echo $str;