Различные стили CSS для последнего элемента php-массива

Когда цикл через массив, как я могу создать другой стиль div css для последнего элемента, который будет выводиться в моем массиве.

for($i=0;$i<=count($productid);$i++){if($productrank[$i]>0 ){ <? if (($productid[$i] % 2 ) && !( last element of array){ echo '<div class="centerBoxContentsFeatured centeredContent back vLine " style="width:50%;">';} else { echo '<div class="centerBoxContentsFeatured centeredContent back " style="width:50%;">';} ?> 

Related of "Различные стили CSS для последнего элемента php-массива"

Просто проверьте, является ли это последним $ productid

 for(...) { if ($i === (count ($productid) - 1)) // Last one -> special CSS } } 

Кроме того, НЕ используйте count() в цикле FOR, если вам это действительно не нужно. Просто назначьте значение ДО и используйте его:

 $count_temp = count ($productid); for ($i = 0; $i < $count_temp; ++$i) 

И снова используйте этот $ count_temp, если оператор IF проверяет, является ли это последним элементом


Ответить на комментарий:

How would this same method get the first element?

 if ($i === 0) 

Или

 // Special CSS for $i = 0 // Start loop at 1 instead of 0 for ($i = 1; $i < $count_temp; ++$i) 

Вы можете сделать это исключительно с помощью CSS, используя :last-child . Он поддерживается всеми современными браузерами.

 div.centerBoxContentsFeatured:last-child { /* special styles for last */ } 

Смотрите его в действии: http://jsfiddle.net/9y93j/1/

Как это:

 if($productid[$i] == $productid[count($productid)-1]){ //last element code here } elseif (($productid[$i] % 2 ){ //even row code here } else { //odd row code here }