0

我想知道如何使用 PHP 找出表中的最后一个,也就是如果那是最后一个,那么我想对其应用不同的样式和内容。

这是我生成表格内容的代码的一部分。

  $content .= '</tr>';

  $totalcols = count ($columns);
  if (is_array ($tabledata))
  {
    foreach ($tabledata as $tablevalues)
    {
      if ($tablevalues[0] == 'dividingline')
      {
        $content .= '<tr><td colspan="' . $totalcols . '" style="background-color:#efefef;"><div align="left"><b>' . $tablevalues[1] . '</b></div></td></tr>';
        continue;
      }
      else
      {
        $content .= '<tr>';
        foreach ($tablevalues as $tablevalue)
        {
          $content .= '<td>' . $tablevalue . '</td>';
        }

        $content .= '</tr>';
        continue;
      }
    }
  }
  else
  {
    $content .= '<tr><td align="center" style="border-bottom: none;" colspan="' . $totalcols . '">No Records Found</td></tr>';
  }

我知道以后可以选择用 jQuery 做类似的事情,但我不想让它复杂化,只是在我生成表时用 php 解决它。

4

5 回答 5

2

数一数:

$count = 1;
foreach ($tablevalues as $tablevalue)
{
    $count++;

    if( $count > count( $tablevalues)) {
        echo "Last td tag is up next! ";
    }
    $content .= '<td>' . $tablevalue . '</td>';
}
于 2012-05-08T16:51:55.473 回答
1

您可以在最后一个循环中执行任何代码:

for($i=0;$i<count($tablevalues);$i++)
{
    $tablevalue=$tablevalues[$i];
    $content .= '<td>' . $tablevalue . '</td>';
    if($i==count($tablevalues)-1){ 
        // last loop execution
    }
}
于 2012-05-08T16:54:53.473 回答
1

这是一个不知何故的把戏

foreach ($tablevalues as $k => $tablevalue)
{
  if ($k==count($tablevalues)-1)
  {
    // last td of current row
    $content .= '<td>' . $tablevalue . '</td>';
  }
  else
  {
    $content .= '<td>' . $tablevalue . '</td>';
  }
}

我只是希望您的 $tablevalues 集的键与此代码匹配。

于 2012-05-08T16:56:26.340 回答
0

您应该使用for($i = 0; i < count($tablevalues); $i++) {}循环并考虑count($tablevalues)-1成为数组的最后一个键。

所以这$tablevalues[count($tablevalues)-1]是你的最后一个<td>

于 2012-05-08T16:50:44.803 回答
0

你为什么不使用 jQuery?它有规定可以做这样的事情。

于 2012-05-08T16:54:15.380 回答