首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -根据循环中的某些条件将某些类分配给li标记

PHP -根据循环中的某些条件将某些类分配给li标记
EN

Stack Overflow用户
提问于 2016-05-12 00:55:14
回答 4查看 650关注 0票数 1

我有以下Two-dimensional数组:

代码语言:javascript
复制
$data = array
(
    array("1.2"),
    array("2.5"),
    array("4.7"),
    array("5.7"),
    array("3.5"),
    array("7.2"),
    array("4.7"),
    array("3.5")
);

现在我通过循环显示我的记录:

代码语言:javascript
复制
<ul>
    <?php
        for($i=0; $i<count($data); $i++):
            ?>
                <li><?php echo $data[$i][0]; ?></li>
            <?php
        endfor;
    ?>
</ul>

这就是结果:

现在我想检查循环中的一些条件,并将class="red"添加到li中。

示例1:

如果在循环中发现4.7,则将class="red"添加到下一个所有li标记。

示例2:

如果在循环中发现3.5,则将class="red"添加到下一个所有li标记。

示例3:

如果在循环中发现5.7,则将class="red"添加到下一个所有li标记。

当某些条件匹配时,如何将类添加到li标记。

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2016-05-12 01:14:27

一旦找到匹配的项,您就可以立即打开该类。

代码语言:javascript
复制
$switch_value = '4.7';                 // set the value where you want to switch colors
$class = '';                           // initialize the class to empty string
foreach ($data as $value) {
    echo "<li$class>$value[0]</li>";
    // set the class to red the first time the value is found
    if ($value[0] == $switch_value) $class = ' class="red"';
}

在回显列表项之后设置类以获得所需的输出,这一点很重要。

票数 1
EN

Stack Overflow用户

发布于 2016-05-12 01:00:29

只需检查一个带有值的条件,并对其进行赋值

代码语言:javascript
复制
    <ul>
        <?php
            $isRed = false;
            $value_to_search = 3.5;
            for($i=0; $i<count($data); $i++):
                ?>
                    <li class="<?php echo ($isRed == true)?'redClass':'';"><?php echo $data[$i][0]; ?></li>
                <?php
                if($data[$i][0] == $value_to_search )
                   $isRed = true;
            endfor;
        ?>
    </ul>
票数 0
EN

Stack Overflow用户

发布于 2016-05-12 01:04:16

你可以这样做:

代码语言:javascript
复制
<ul>
    <?php
        $class = ''; $num = 4.7;
        for($i=0; $i<count($data); $i++):
            ?>
                <li class='<?php echo $class; ?>'><?php echo $data[$i][0]; ?></li>
            <?php
             if( $data[$i][0] == $num ) $class = 'red';
        endfor;
    ?>
</ul>

只需以编程方式将$num更改为所需的值。

编辑:将if块移动到for块的末尾以保留数字的匹配项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37168892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档