如何为此代码添加更多类?

时间:2017-01-13 07:18:40

标签: php foreach

我在我的网站上有这个代码:

<?php foreach ($items as $key=>$item): ?>
<li class="<?php echo ($key%2) ? "odd" : "even" ; if(count($items)==$key+1) echo ' lastItem'; ?>">

目前的结果是:

<ul>
<li class="even">
<li class="odd">
<li class="even">
<li class="odd">
<li class="even">
<li class="odd">
<li class="even lastItem">
</ul>

我想要做的是添加更多类,结果将是这样的:

<ul>
<li class="even">
<li class="odd">
<li class="alt">
<li class="mart">
<li class="tara">
<li class="sono">
<li class="even">
<li class="odd">
<li class="alt">
<li class="mart">
<li class="tara">
<li class="sono">
<li class="even lastItem"></ul>

这意味着代替2 li Repetition,而不是6 li。

1 个答案:

答案 0 :(得分:2)

你可以声明一个类名数组,然后在foreach循环中回显这个数组的一个元素

['SNO', ' Name', ' Dept']
['1', ' Def', ' Electronics']
['2', 'Abc', 'Computers']

我没有测试过,但我认为它应该可行

编辑:更改了classNames索引的评估,这样你就可以在数组中添加更多的类名,它会自动运行:

<?php 
$classNames = array('even', 'odd', 'alt', 'mart', 'tara', 'sono');
foreach ($items as $key=>$item){ ?>
<li class="<?php echo $classNames[($key%count($classNames))]; if(count($items)==$key+1) echo ' lastItem'; ?>">
<?php } ?>