如何在PHP表格中找到最后一个

时间:2012-05-08 16:47:14

标签: php

我想知道如何才能在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解决它。

5 个答案:

答案 0 :(得分:2)

保持计数:

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

    if( $count > count( $tablevalues)) {
        echo "Last td tag is up next! ";
    }
    $content .= '<td>' . $tablevalue . '</td>';
}

答案 1 :(得分:1)

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

for($i=0;$i<count($tablevalues);$i++)
{
    $tablevalue=$tablevalues[$i];
    $content .= '<td>' . $tablevalue . '</td>';
    if($i==count($tablevalues)-1){ 
        // last loop execution
    }
}

答案 2 :(得分: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集的密钥与此代码匹配。

答案 3 :(得分:0)

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

因此$tablevalues[count($tablevalues)-1]是您的最后一个<td>

答案 4 :(得分:0)

为什么不使用jQuery?它可以做类似的事情。