当循环数组时,如何为我的数组中输出的最后一个元素创建不同的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%;">';} ?>
答案 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
}