非常新的PHP,非常有兴趣学习。如果声明和功能

时间:2012-06-01 03:56:42

标签: php function if-statement verify statements

PLS。我是非常新的PHP所以请。了解。 好的,就这样吧。 。我首先想知道的是“函数和if语句可以在一个代码中吗?”第二个是下面的代码,只需看看NOTE的位置,如果参数$ first和$ second的值相同,我应该在if语句中键入什么使其说“ARE THE SAME”并说“如果没有,那就不一样了。

    <?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";
    ?>

我认为这就是它。 有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

您的基本问题是scope之一。在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';
}

答案 1 :(得分:0)

如果您查看comparison operators,您会看到===只会是真的,如果两个输入的变量属于同一类型。通常,如果函数返回true,您仍然可以使用if($returncode == 1),这将是真的,而if($returncode === 1)则为false。您必须使用if($returncode === true来触发if语句。

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

答案 2 :(得分:0)

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