PHP循环不根据div颜色代码打印颜色名称

met*_*lah 1 php

我试图根据循环中的颜色代码回显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)

lui*_*s90 7

原因是你混了===.

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是绿色的,看起来你也交换了文字.