对PHP非常陌生,对学习非常感兴趣.if 语句和函数


Very new to PHP and very interested to learn. If statements and Functions

PLS.我是PHP的新手,所以请理解。好的,就这样吧。.我首先想知道的是"函数和 if 语句可以在一个代码中吗?"其次对于下面的代码,只需看看注释在哪里,如果参数 $first 和 $second 的值相同,我应该在 if 语句中键入什么才能让它说"相同",如果参数 和 的值相同,如果不是,则说"不一样"。

    <?php
    function verify($first,$second)
    {
    echo $first . " and " . $second ;
    }
    echo
    verify ("1","2");
    if ($first === $second) /* **NOTE: I know this is wrong cause its not working** */
    echo " ARE THE SAME";
    else
    echo " ARE NOT THE SAME";
    ?>

我认为仅此而已。谁能帮忙?

你的基本问题是范围问题之一。在verify()之外,没有定义$first$second。您可以简单地将其余代码包含在函数体中,这将执行您想要的操作,例如

function verify($first,$second) {
    echo $first . " and " . $second ;
    if ($first === $second) {
        echo " ARE THE SAME";
    } else {
        echo " ARE NOT THE SAME";
    }
}
verify("1", "2");

。但是,写入输出缓冲区的函数很少是一个好主意。相反,将逻辑封装在函数中,并将显示留给过程代码,例如

function verify($a, $b) {
    return $a === $b;
}
$first = '1';
$second = '2';
echo $first, ' and ', $second;
if (verify($first, $second)) {
    echo ' are the same';
} else {
    echo ' are not the same';
}

如果您查看比较运算符,您会发现只有当输入的两个变量属于同一类型时,===才会为真。通常,如果一个函数返回true你仍然可以使用 if($returncode == 1) 它将是真的,而if($returncode === 1)将是假的。您必须使用 if($returncode === true 来触发 if 语句。

此外,您必须将第二个 if 语句放入函数中,因为您使用函数声明的变量是局部变量,这意味着它只能在函数中访问。

<?php
    function verify($first,$second)
    {
    if($first===$second){
     return "Same";
    } else {
     return "Different";
    }
    }
    echo verify ("1","2");
    ?>