很简单,但我找不到答案。
我想列出子类别以在下面的代码中创建选项卡。这在我的输出中运行良好。但是第一个选项卡需要 <li class= "selected" >
在页面加载时显示内容。
如何强制第一个回显结果在 <li>
上包含一个类元素 ?
.
.
.
[输出]
实际:..........类别 1 |第 2 类 |第三类
需要:.........类别 1* |第 2 类 |第三类
*class="已选择"
<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>
.
.
[编辑]
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>';
}
最佳答案
我建议你使用计数器..不确定这是否是正确的方法..
如下更改您的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++;
}
或
如答案中的建议 here ,您可以使用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>';
}
在 docs 中阅读有关 array_shift()
的更多信息
关于php - 如何更改 PHP 中第一个回显结果的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32894023/