0

我在我网站的一个部分列出了最新的 5 个事件。每次列出一个项目时,它的底部都会有一个分隔线。我想添加last到最后一个<li>,以便分隔线在最后一个项目上消失。

所以我<li class="clearfix">改为<li class="clearfix last">. 我该怎么做?

仅供参考,<?php $iCounterLi++; ($iCounterLi==5)? 'last':''; ?>不会工作,因为我可能不时有少于 5 个即将发生的事件。

谢谢!

<?php
  $get_latest_events = get_latest_events(5);
  if(count($get_latest_events) > 0) {
    foreach($get_latest_events as $eventdata) {
      $entity_data = node_load($eventdata->entity_id);
      $event_start_date = check_isset_start_date($entity_data,'event_calendar_date','und');
      if($event_start_date !='') {
        $explode_event_date = explode(" ",$event_start_date);
        $explode_event_day = strtotime($explode_event_date[0]);
        $explode_event_time = $explode_event_date[1];
        $event_start_day1 = strftime("%B",$explode_event_day);
        $event_start_day2 = strftime("%d",$explode_event_day);
      }
      $location = check_isset($entity_data,'field_location','und');
    ?>
    <li class="clearfix"></li>
4

2 回答 2

2

如果你真的想使用 PHP,你可以检查 count() 是否与当前的 $count 匹配。

$arr = array("bob","henry","sam");

$arrCount = count($arr);  // 3

$count = 0;

echo '<ul>';

foreach($arr AS $k => $v){

   $count++;

   if($count == $arrCount)
      echo '<li class="last">';
   else
      echo '<li>';

   echo $v;

   echo '</li>';
}

echo '</ul>';

或者,您可以使用end()将数组的内部指针设置为最终元素,然后在循环时查找它。

$arr = array("bob","henry","sam");

$arrEnd = end($arr);  // "sam"


echo '<ul>';

foreach($arr AS $k => $v){

   if($v == $arrEnd)
      echo '<li class="last">';
   else
      echo '<li>';

   echo $v;

   echo '</li>';
}

echo '</ul>';
于 2013-07-21T17:09:07.327 回答
0

您不需要为此上课;您可以通过执行以下操作来选择 CSS 中的最后一个元素:

ul li:last-child

于 2013-07-21T15:19:23.977 回答