在foreach中一次在echo中打印类,并在其他循环中忽略

时间:2018-08-28 04:53:32

标签: php foreach

我有这样的foreach

编辑

foreach ($lists as $list) {
    echo '<li class="">'. $list .'</li>';
}

如何像这样class="active"一样向第一个li类添加活动,而其他循环显示为empy类“ default”

  

谢谢大家的帮助

5 个答案:

答案 0 :(得分:2)

您可以这样做

$active = false;
foreach($lists as $list){
    echo '<li class="'.(!$active ? 'active' : '').'">'. $list .'</li>';
    $active = true;
}

答案 1 :(得分:0)

尝试一下

$counter = 0;
foeach($lists as $list){
if($counter==0)
 echo '<li class="active">'. $list .'</li>';
else
 echo '<li class="">'. $list .'</li>';
   $counter++;
}

答案 2 :(得分:0)

如果您希望将第一个var cursorPos = textInputController.selection; setState(() { textInputController.text = newInput; if (cursorPos.start > newInput.length) { cursorPos = new TextSelection.fromPosition( new TextPosition(offset: newInput.length)); } textInputController.selection = cursorPos; }); 元素设置为有效,那么您可以这样做。

<li>

答案 3 :(得分:0)

如果您使用的是Laravel 5.3或更高版本,则可以使用此

@foreach($lists as $list)
<li @if($loop->iteration == 1) class="active" @endif>{{ $list }}</li>
@endforeach

答案 4 :(得分:0)

您必须对数组的值或索引施加某种条件。假设我们必须将活动类放在第一个元素上

// track array by its index and first element has index 0
foreach($list as $index => $list)
{
   // if index is 0 then put active class to list with ternary condition
   echo '<li class="'.(($index==0)?'active':'').'">'. $list.'</li>';
}