不同的CSS样式为php数组的最后一个元素

时间:2013-08-26 13:19:13

标签: php css loops for-loop

当循环数组时,如何为我的数组中输出的最后一个元素创建不同的css div样式。

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%;">';} ?>

3 个答案:

答案 0 :(得分:2)

检查它是否是最后的$ productid

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

此外,如果您不必,请不要在FOR循环中使用count()。 只需分配一个值并使用它:

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

如果IF语句检查它是否是最后一个元素

,请再次使用此$ count_temp

回答评论:

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)

答案 1 :(得分:1)

您可以使用:last-child纯粹使用CSS执行此操作。所有现代浏览器都是supported

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

查看实际操作:http://jsfiddle.net/9y93j/1/

答案 2 :(得分:0)

像这样:

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