Как добавить только одни данные без его повторения в foreach, который имеет несколько повторений?


у меня есть foreach, который повторяет элементы li в соответствии со значениями переменной $channels, если быть точным, эта переменная имеет данные, разделенные запятыми, для каждого данных, разделенных запятыми, повторяется, пример: $channels="dato,dato2,dato3"; наблюдается 3 данные, разделенные запятыми, поэтому foreach будет повторять элемент 3 разаli.

таким образом, следующий PHP foreach повторяет элементы три раза li.

я хочу добавить класс к элементу li используя следующую переменную: $myclass = "active"; но без повторения во всех li из 3 элементов li, которые должны быть сгенерированы, я просто хочу, чтобы в первом li был добавлен класс или то же самое, что и только в первом li я знаю, чтобы напечатать переменную $myclass, как я могу это сделать?

        <?php
            foreach ($channels as $key => $value)
            {   
        ?>
                <li class="item <?php echo $myclass;?>"><span data-target="#<?PHP echo $key;?>">Option <?php echo $key;?></span></li>
        <?php
            }            
        ?>
 3
php
Author: Kary, 2018-09-22

1 answers

Вы можете выполнить проверку во время печати класса.

Что-то вроде

<?php echo $key === 0 ? $myclass : ''; ?>

Полный пример:

<?php
foreach ($channels as $key => $value)
{   
?>
    <li class="item <?php echo $key === 0 ? $myclass : ''; ?>"><span data-target="#<?PHP echo $key;?>">Option <?php echo $key;?></span></li>
<?php
}            
?>

Это предполагает, что переменная $ channels является массивом с числовыми ключами.

В случае, если $channels является массивом с ассоциативными ключами:

<?php
$index = 0;
foreach ($channels as $key => $value)
{
?>
    <li class="item <?php echo $index === 0 ? $myclass : ''; ?>"><span data-target="#<?PHP echo $key;?>">Option <?php echo $key;?></span></li>
<?php
    $index++;
}            
?>
 2
Author: RockoDev, 2018-09-22 21:56:39