我试图根据循环中的颜色代码回显div的颜色名称,但它似乎没有工作.这就是我得到的:

框的颜色应与其中的文本相关联.有什么我做错了吗?到目前为止这是我的代码:
$availColour = array("#F00","#FF0","#0D0");
for ($i = 1; $i <= 9; $i++) {
$Monday = $availColour[array_rand($availColour, 1)];
echo '<div class="innerTbl" style="width: 50px; float: left;
background-color: '.$Monday.'">';
if ($Monday = "#F00") {
echo "Red";
}
elseif ($Monday = "#FF0") {
echo "Green";
}
elseif ($Monday = "#0D0") {
echo "Yellow";
}
echo "</div>";
Run Code Online (Sandbox Code Playgroud)
原因是你混了=和==.
if ($Monday = "#F00") {
Run Code Online (Sandbox Code Playgroud)
应该
if ($Monday == "#F00") {
Run Code Online (Sandbox Code Playgroud)
为了防止将来出现这种情况,许多人会这样做.
if ("#F00" == $Monday) {
Run Code Online (Sandbox Code Playgroud)
一开始可能看起来很尴尬,但是它可以防止你把它们混合起来,好像你把你的陈述输入错误一样
if ("#F00" = $Monday) {
Run Code Online (Sandbox Code Playgroud)
你的翻译会因为一个致命的错误而死,抱怨你不能指定一个常数,类似的东西 - 这实际上让你的错误更加明显.
顺便说一句,#FF0是黄色的,#0D0是绿色的,看起来你也交换了文字.