php IF在我的代码中不起作用

use*_*708 0 php if-statement

当我运行这个时,我总是得到:(什么是wdl形式).

copy ("templates/colors/win.txt", "tips/$today/color.txt");
copy ("templates/text/win.txt", "tips/$today/wdl.txt");
Run Code Online (Sandbox Code Playgroud)

这意味着最后的命令,我的PHP代码上的if不起作用.代码:

<?php
echo ("Setting up colors...");
if($_GET["wdl"] == "D");
{
    copy ("templates/colors/dr.txt", "tips/$today/color.txt");
    copy ("templates/text/dr.txt", "tips/$today/wdl.txt");
}
if($_GET["wdl"] == "L");
{
    copy ("templates/colors/lose.txt", "tips/$today/color.txt");
    copy ("templates/text/lose.txt", "tips/$today/wdl.txt");
}
if($_GET["wdl"] == "W");
{
    copy ("templates/colors/win.txt", "tips/$today/color.txt");
    copy ("templates/text/win.txt", "tips/$today/wdl.txt");
}
?>
Run Code Online (Sandbox Code Playgroud)

我该怎么办呢?

solusion是删除:ex:;fromif($_GET["wdl"] == "W");

kar*_*ikr 10

删除;在的结束if前,{

if($_GET["wdl"] == "D");
{
Run Code Online (Sandbox Code Playgroud)

应该

if($_GET["wdl"] == "D")
{
Run Code Online (Sandbox Code Playgroud)

等等..

;是一个指令分隔符.在这里阅读更多

这是一个常见的错误区域,所以为了避免这种情况,你可以做到

if($_GET["wdl"] == "D") {
   ...
Run Code Online (Sandbox Code Playgroud)

这样你就可以;在循环结构之后避免意外

所以代码块看起来像这样:

<?php
    echo ("Setting up colors...");
    if($_GET["wdl"] == "D") {
        copy ("templates/colors/dr.txt", "tips/$today/color.txt");
        copy ("templates/text/dr.txt", "tips/$today/wdl.txt");
    }
    if($_GET["wdl"] == "L") {
        copy ("templates/colors/lose.txt", "tips/$today/color.txt");
        copy ("templates/text/lose.txt", "tips/$today/wdl.txt");
    }
    if($_GET["wdl"] == "W") {
        copy ("templates/colors/win.txt", "tips/$today/color.txt");
        copy ("templates/text/win.txt", "tips/$today/wdl.txt");
    }
?>
Run Code Online (Sandbox Code Playgroud)