如何使用 PHP 在表中找到最后的 <td>


How can I find last <td> in table with 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解决它。

保持计数:

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

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

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

这里有一个不知何故的技巧

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集的密钥与此代码匹配。

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

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

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