如何在PHP中更改第一个echo结果的类?

rdl*_*ngr 5 html php wordpress class echo

很容易,但我找不到答案.

我想列出子类别以在下面的代码中创建选项卡.这个在我的输出中正常工作.但是第一个标签需要<li class= "selected" >在页面加载时显示内容.

如何强制第一个echo结果在<li>元素上包含一个类?

.

.

.

[输出]

实际:..........第1类| 第2类| 第3类

需要:..........第1类*| 第2类| 第3类

*类="选择"

  <ul class="cd-tabs-navigation">

  <?php
  $argumentos = array(
  'hide_empty' => 1,
  'child_of' => 44,
  );
  $categories = get_categories($argumentos);
  foreach($categories as $category) {
  echo '<li><a data-content="' . $category->slug . '" href="#' . $category->slug . '">' . $category->name . '</a></li>';
  }
  ?>

  </ul>
Run Code Online (Sandbox Code Playgroud)

.

.

[编辑]

Lal的解决方案.谢谢大家!

  foreach($categories as $category) {
  if(++$i==1)
  echo '<li class="selected"><a class="selected" data-content="' . $category->slug . '" href="#' . $category->slug . '">' . $category->name . '</a></li>';
  else
  echo '<li><a data-content="' . $category->slug . '" href="#' . $category->slug . '">' . $category->name . '</a></li>';
  }
Run Code Online (Sandbox Code Playgroud)

Lal*_*Lal 3

我建议你使用计数器..不确定这是否是正确的方法..

更改你的foreach如下

$i=0;
foreach($categories as $category) {
  if($i==0)
    echo '<li class="selected"><a data-content="' . $category->slug . '" href="#' . $category->slug . '">' . $category->name . '</a></li>';
  else
    echo '<li><a data-content="' . $category->slug . '" href="#' . $category->slug . '">' . $category->name . '</a></li>';
  $i++;
  }
Run Code Online (Sandbox Code Playgroud)

或者

正如此处答案中所建议的,您可以使用array_shift()单独处理数组中的第一项

也就是说,按如下方式进行

$first = array_shift($categories);
echo '<li class="selected"><a data-content="' . $first ->slug . '" href="#' . $first ->slug . '">' . $first ->name . '</a></li>';
foreach($categories as $category) {
  echo '<li><a data-content="' . $category->slug . '" href="#' . $category->slug . '">' . $category->name . '</a></li>';
}
Run Code Online (Sandbox Code Playgroud)

阅读文档array_shift()中的更多信息

  • @Lal您在第一个示例中没有增加`$i`,因此`$i == 0`将始终为真。 (2认同)