如何比较if条件中的两个段落...使用任何语言

时间:2013-09-20 10:18:19

标签: php if-statement conditional-statements

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;
}

2 个答案:

答案 0 :(得分:0)

您的错误位于==,请不要使用0和1尝试true和false或更好并且缺少{}

以下是工作代码:

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
}

可以解决所有可能的问题

答案 1 :(得分: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 === operator


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个等号,但要谨慎使用。

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