-2
function paraMatch($consumerid1, $consumerid2)
    {
    $para1=getpara1($consumerid1);
    $para2=getpara2($consumerid2);
    echo $para1;
    echo $para2;
    if($para1=$para2)   
      echo 1;
      return 1;
    else
       echo 0;
       return 0;
}
4

2 回答 2

0

您的错误在==并且请不要使用 0 和 1 尝试正确和错误或更好和缺失{}

这是工作代码:

function paraMatch($consumerid1, $consumerid2)
    {
    $para1=getpara1($consumerid1);
    $para2=getpara2($consumerid2);
    echo $para1;
    echo $para2;
    if($para1 == $para2)   {
      echo true;
      return true;
    }
    else{
       echo false;
       return false;
    }
}

像这样调用函数:

if(paraMarch($id1 , $id2) == true){
//true
}else{
//false
}

这将解决所有可能的问题

于 2013-09-20T10:31:17.367 回答
0

通过任何语言,您是指编程方面还是段落以“方面”编写的语言?如果你指的是后者,那将非常困难。但是,如果您指的是编程方面并假设您指的是 PHP,因为它是您标记的唯一编程语言,那么我的答案就在这里。


//You can use the strcmp function
function paraMatch($consumerid1, $consumerid2)
    {
    //Don't know what you are doing here
    $para1=getpara1($consumerid1);
    $para2=getpara2($consumerid2);
    echo $para1;
    echo $para2;

    //======================================

    if(strcmp($para1,$para2) == 0) {//strcasecmp($para1,$para2) //for case-insensitive 
      echo 1;
      return 1;
    } else {
       echo 0;
       return 0;
    }

}

或者您可以使用使用 3 个等号的方法。2 和 3 等号之间的差异可能会导致问题,因为 PHP 是动态的,除非您确定两个变量将是相同的类型或者您知道自己在做什么。php == vs === 运算符


function paraMatch($consumerid1, $consumerid2)
    {

    $para1=getpara1($consumerid1);
    $para2=getpara2($consumerid2);
    echo $para1;
    echo $para2;

    if($para1 === $para2) {// $para1 == $para2 //Can work as intended too in most situations 
      echo 1;
      return 1;
    } else {
       echo 0;
       return 0;
    }

}

我会为字符串使用 strcmp 函数以避免混淆,但可以随意使用任何方法。您可以使用 2 个等号,但请谨慎使用。

只是出于好奇,你为什么不直接返回布尔值呢?

于 2013-09-20T11:20:14.643 回答