PHP - 在一天中的不同时间更新文本

时间:2014-01-08 10:45:03

标签: php variables time

嘿家伙所以我有这个脚本理论上应该在当天的某些时间更新文本但由于某种原因它只回应1而我无法弄清楚为什么

任何帮助都会非常感激

<?php 

$dt = new DateTime();

$time = $dt->format("H");

if($time = 0){ 
   echo("<h3>0</h3>"); 
}else if($time = 1){ 
    echo("<h3>1</h3>"); 
}else if($time = 2){ 
    echo("<h3>2</h3>");
}else if($time = 3){ 
    echo("<h3>3</h3>");
}else if($time = 4){ 
    echo("<h3>4</h>");
}else if($time = 5){ 
    echo("<h3>5</h3>"); 
}else if($time = 6){ 
    echo("<h3>6</h3>"); 
}else if($time = 7){ 
    echo("<h3>7</h3>");
}else if($time = 8){ 
    echo("<h3>8</h3>"); 
}else if($time = 9){ 
    echo("<h3>9</h3>"); 
}else if($time = 10){ 
    echo("<h3>10</h3>");  
}else if($time = 11){ 
    echo("<h3>11</h3>");  
}else if($time = 12){ 
    echo("<h3>12</h3>");
}else if($time = 13){ 
    echo("<h3>13</h3>");
}else if($time = 14){ 
    echo("<h3>14</h3>");
}else if($time = 15){ 
    echo("<h3>15</h3>");
}else if($time = 16){ 
    echo("<h3>16</h3>");
}else if($time = 17){ 
    echo("<h3>17</h3>");
}else if($time = 18){ 
    echo("<h3>18</h3>");
}else if($time = 19){ 
    echo("<h3>19</h3>");
}else if($time = 20){ 
    echo("<h3>20</h3>");
}else if($time = 21){ 
    echo("<h3>21</h3>");
}else if($time = 22){ 
    echo("<h3>22</h3>");
}else if($time = 23){ 
    echo("<h3>23</h3>");
}else{ 
    echo("<h3>0</h3>");  
} 
?>

提前谢谢

4 个答案:

答案 0 :(得分:5)

您应该使用==来比较整数。使用=,您将值0分配给变量$time

即:对if($time == 0){...}个条款执行if

答案 1 :(得分:1)

那是因为你使用单=(赋值)而不是双==(比较)。实际上,您在第一个if语句中

此外,您应该只使用该值,而不是为每种可能性指定它。这是可怕的意大利面条代码。整个过程可以简化为:

if ($time < 0 || $time > 23) $time = 0;
echo "<h3>{$time}</h3>";

即使if部分也是不必要的,因为如果DateTime类编码正确,则值不可能超出0..23范围。

答案 2 :(得分:0)

试试这个......

if($time == 0){echo("<h3>0</h3>");}

答案 3 :(得分:0)

使用==

修复所有=
<?php 

$dt = new DateTime();

$time = $dt->format("H");

if($time == 0){ 
   echo("<h3>0</h3>"); 
}else if($time == 1){ 
    echo("<h3>1</h3>"); 
}else if($time == 2){ 
    echo("<h3>2</h3>");
}else if($time == 3){ 
    echo("<h3>3</h3>");
}else if($time == 4){ 
    echo("<h3>4</h>");
}else if($time == 5){ 
    echo("<h3>5</h3>"); 
}else if($time == 6){ 
    echo("<h3>6</h3>"); 
}else if($time == 7){ 
    echo("<h3>7</h3>");
}else if($time == 8){ 
    echo("<h3>8</h3>"); 
}else if($time == 9){ 
    echo("<h3>9</h3>"); 
}else if($time == 10){ 
    echo("<h3>10</h3>");  
}else if($time == 11){ 
    echo("<h3>11</h3>");  
}else if($time == 12){ 
    echo("<h3>12</h3>");
}else if($time == 13){ 
    echo("<h3>13</h3>");
}else if($time == 14){ 
    echo("<h3>14</h3>");
}else if($time == 15){ 
    echo("<h3>15</h3>");
}else if($time == 16){ 
    echo("<h3>16</h3>");
}else if($time == 17){ 
    echo("<h3>17</h3>");
}else if($time == 18){ 
    echo("<h3>18</h3>");
}else if($time == 19){ 
    echo("<h3>19</h3>");
}else if($time == 20){ 
    echo("<h3>20</h3>");
}else if($time == 21){ 
    echo("<h3>21</h3>");
}else if($time == 22){ 
    echo("<h3>22</h3>");
}else if($time == 23){ 
    echo("<h3>23</h3>");
}else{ 
    echo("<h3>0</h3>");  
} 
?>