在foreach循环后更改每个字符串的背景颜色

时间:2013-09-12 18:49:58

标签: php css

这是一个简单的问题,但我可以掌握它。所以我有这个代码。

<?php
$names = array('ronny','antony');

foreach($names as $name){

echo '<div style="background: green;" class="name">'.$name.'</div><br>';

}

如何更改每个名称的背景?像ronny的背景是绿色和antony是橙色?

感谢。

3 个答案:

答案 0 :(得分:6)

<?php
$names = array('ronny' => '#00ff00','antony' =>'#ff0000');

foreach($names as $name => $color){
    echo '<div style="background: ' . $color . ';" class="name">'.$name.'</div><br>';
}

答案 1 :(得分:3)

使用CSS,因为您可以将名称作为类

将此添加到您的CSS文件

.ronny  {background-color: green}
.antony {background-color: orange}

编辑:

将名称添加到您的班级

echo '<div class="name '.$name.'">'.$name.'</div><br>';

编辑2:

mathielo指出,只有当$ name是一个单词时才会有效。

但是,您可以使用其他类名来描述人员(员工,老板等),具体取决于您的方案。

答案 2 :(得分:1)

如果你想要更动态的东西(通常用于更大的列表),比如切换奇数/偶数行的背景颜色,你可以使用这样的东西:

<?php
$names = array('ronny','antony');

foreach($names as $key => $name){

$color = ($key % 2 === 0) ? 'green' : 'orange';

echo '<div style="background: '.$color.';" class="name">'.$name.'</div><br />';

}
?>