如何在php循环中选择第一个元素并对其应用类?

时间:2018-08-27 18:55:42

标签: php wordpress

这是Wordpress中表格的代码。我想在循环的第一个元素中添加一个类。我怎样才能做到这一点。产生一系列td元素,如何更改代码,以便仅将类添加到tr循环的第一个td中。

$table = get_field( 'hosting_plan_table' );

if ( $table ) {

echo '<tbody>';

foreach ( $table['body'] as $tr ) {

    echo '<tr>';

        foreach ( $tr as $td ) {

            echo '<td><span id="dottedunderlinet" class="'.$td['c'].'"> ';
                echo $td['c'];
            echo '</td>';
        }

    echo '</tr>';
}

3 个答案:

答案 0 :(得分:0)

您可以这样做

 if ( $table ) {

            echo '<tbody>';

                foreach ( $table['body'] as $tr ) {

                    echo '<tr>';

                      $class='first';

                        foreach ( $tr as $td ) {

                            echo '<td class="'.$class.'"><span id="dottedunderlinet" class="'.$td['c'].'"> ';
                                echo $td['c'];
                            echo '</td>';

                         $class='';
                        }

                    echo '</tr>';
                }

答案 1 :(得分:0)

看看这个。我设置了一个名为$i的变量。在foreach循环中,我向$i加1。这意味着循环第一次运行时,$i等于零。然后,!$i测试将被匹配,并且$class可以设置为您要应用的类的名称。

$table = get_field( 'hosting_plan_table' );

$i = 0;

if ( $table ) {

echo '<tbody>';

foreach ( $table['body'] as $tr ) {

    echo '<tr>';

        foreach ( $tr as $td ) {

            if(!$i) { $class = 'some-class'; } else { $class = ''; }

            echo '<td><span id="dottedunderlinet" class="'.$class.'"> ';
                echo $td['c'];
            echo '</td>';
        }

    echo '</tr>';

    $i++;

}

答案 2 :(得分:0)

您可以这样更新代码:

$counter = 0;
foreach ( $tr as $td ) {
  if($counter == 0){
    echo '<td class="my-custom-class-here"><span id="dottedunderlinet" class="'.$td['c'].'"> ';
  } else {
    echo '<td><span id="dottedunderlinet" class="'.$td['c'].'"> ';
  }
  echo $td['c'];
  echo '</td>';
  $counter++;
}