To musisz mieć coś źle w innym miejscu... Sposób taki jak podałeś jest poprawny, co więcej w tablicy $_POST to raczej nie jest zmienna a18, a element tej tablicy - nazywanie tego zmienną w zmiennej jest raczej błędne.
Zrób sobie szybki teścik. Wklej do pustego pliku taki prosty kod:
<?php
$a['a1']=1;
$a['a2']=2;
$a['a3']=3;
for($i=1;$i<=3;$i++)
{
echo $a['a'.$i].' ';
}
?>
I zobacz sobie jaki wyrzuca on wynik na ekran. U mnie jest
1 2 3
Wnioski myślę, że wyciągniesz z tego przykładu sam ;)