Вот поэтому нужно делать дизайн универсальный а не прибитый гвоздями, плохая верстка...
Размеры и стили блоков нужно прописывать в css а не извращаться классами с разными именами.
Если ничего не изменить, то придется заводить счетчик $i и плясать с Ифами на пример вот так
$num = 1; //Число
if($num % 2 === 0)
echo 'Четное';
elseif
echo 'Нечетное';
и тому подобные пляски...
Как по мне проще дизайн переделать что бы блоки шли по порядку
<div class="main">
<div class="item">
<img src="image1.jpg">
<p>Text</p>
</div>
<div class="item">
<img src="image1.jpg">
<p>Text</p>
</div>
<div class="item">
<img src="image1.jpg">
<p>Text</p>
</div>
</div>
а в css уже использовать всякие :nth-child штуки вот такого плана:
.item:nth-child((3n+0)){
//тут стили что бы блок был нужной формы
}
.item:nth-child((1n+0)){
//тут стили что бы блок был нужной формы
}
.item:nth-child((2)){
//тут стили что бы блок был нужной формы
}