为数组中的每个索引更改CLASS

时间:2017-05-29 00:29:31

标签: php css foreach

假设我有一个包含不同重复值的数组,例如 的 [ 'ZAID', 'ZAID', '阿里', '汗', '汗', 'ZAID', 'jhone', 'jhone']

我想要的,

我希望使用相同的BG-COLOR以相同的模式显示每个重复的值。

像:

<span style="background-color:#ddd">ZAID</span>
<span style="background-color:#ddd">ZAID</span>
<span style="background-color:#E55">ALI</span>
<span style="background-color:#099">Khan</span>
<span style="background-color:#099">Khan</span>
<span style="background-color:#ddd">ZAID</span>
<span style="background-color:#055">JHONE</span>
<span style="background-color:#055">JHONE</span>

我正在这样做,因为你打击了解我想要的东西。

$ row ['who_first_check'] 是一个逗号分隔值的字符串。

$checkerNames   =   explode(",",$row['who_first_check']);
$i              =   0;
$a              =   'a';
foreach($checkerNames as $cnName){
    echo '<span class="userCheck" style="background:#'.$a++.$i++.'2; border:1px solid #'.$a++.$i++.'2;">'.$cnName.'</span>';
}

4 个答案:

答案 0 :(得分:2)

您可能想要使用关联数组。像这样:

$names = array('zaid' => 'eee', 'khan' => 'ccc');
foreach($names as $key => $item){
  echo "<span class='element-name--$key'>$key</span>";
}

现在我猜你有另一个生成CSS样式表的文件(如果你愿意,你可以在同一页面中将它作为内联样式)。在这里你可以这样做:

foreach($names as $key => $item){
  echo ".element-name--$key {background-color: #$item}";
}

答案 1 :(得分:1)

创建一个如下所示的关联数组

$arr=array("zaid"=>"#ddd","ali"=>"#E55","jhone"=>"#055","khan"=>"#bb099b");
//loop your repeated array
$input=['zaid','zaid','ali','khan','khan','zaid','jhone','jhone'];
foreach($input as $val){
  $colour=$arr[$val];
  echo "<span style='background-color:".$colour."'>".$val."</span>";

}

答案 2 :(得分:0)

您需要遍历数组,并为每个元素决定使用哪种颜色:

switch

doc2vec内部使用PHP变量可以让你在循环中设置不同的输出。

请注意,上面的内容有点草率(因为它可能会使用print(model.docvecs['4_99.txt'])语句),但会完成工作。

希望这有帮助! :)

答案 3 :(得分:0)

{{1}}

CSS

{{1}}