所以,我正在制作一张桌子,我想使用从一组10个方案中随机选择的4色方案.
这是我的CSS/PHP:
<?php header('Content-type: text/css');
// 0 grey
$color00 = '#959595'; //light grey
$color10 = '#616161'; //medium grey
$color20 = '#414141'; //dark grey
$color30 = '#dfdfdf'; //white grey
// 1 pink
$color01 = '#e45494'; //light pink
$color11 = '#d70060'; //medium pink
$color21 = '#900040'; //dark pink
$color31 = '#f7ccdf'; //white pink
// 2 red
$color02 = '#ee576f'; //light red
$color12 = '#e50428'; //medium red
$color22 = '#9a031b'; //dark red
$color32 = '#facdd4'; //white red
// 3 orange
//(etc, up to 09-39)
$seed = rand(0,9);
$lightcolor = "color0".$seed;
$medcolor = "color1".$seed;
$darkcolor = "color2".$seed;
$whitecolor = "color3".$seed;
?>
#wttbl{
border:0;
border-collapse:collapse;
cellpadding:3;
width:500px;
font-family:Verdana;
font-size:9px;
}
#wttbl td, #wttbl th{
padding: 4px;
}
#wttbl #header{
background:<?="$lightcolor"?>;
}
#wttbl td{
text-align:right;
color:#414141;
}
#wttbl .odd{
background:<?="$color33"?>;
}
#wttbl .even{
}
#wttbl tr:hover{
background:<?="$color03"?>;
}
#wttbl td:hover{
background:<?="$color23"?>;
color:white;
}
Run Code Online (Sandbox Code Playgroud)
问题是,硬编码之类的东西
#wttbl .odd{ background:<?="$color33"?>; }
Run Code Online (Sandbox Code Playgroud)
似乎工作,并在我的代码中回应正确的CSS颜色,而事情就像
#wttbl #header{ background:<?="$lightcolor"?>; }
Run Code Online (Sandbox Code Playgroud)
将"color03"回显到标签中.
我做错了什么,我该如何解决?
您需要使用数组:
$color = array(
array('#959595', '#616161', ...),
array('#e45494', '#d70060', ...)
);
$lightcolor = $color[$seed][0];
Run Code Online (Sandbox Code Playgroud)
不,变量变量永远不是一个好主意,即使会有几个答案提到它们.