我有以下Two-dimensional数组:
$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")
);现在我通过循环显示我的记录:
<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标记。
谢谢。
发布于 2016-05-12 01:14:27
一旦找到匹配的项,您就可以立即打开该类。
$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"';
}在回显列表项之后设置类以获得所需的输出,这一点很重要。
发布于 2016-05-12 01:00:29
只需检查一个带有值的条件,并对其进行赋值
<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>发布于 2016-05-12 01:04:16
你可以这样做:
<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块的末尾以保留数字的匹配项。
https://stackoverflow.com/questions/37168892
复制相似问题