这个功能测试可能吗?

时间:2016-08-18 06:42:37

标签: php

我正在尝试一些复合条件函数测试的代码。我一直遇到语法错误&我相信这可能是不可能的。有谁知道更好吗?代码片段如下:

function getPayrollHoursBalance( $userId )
{
    if ( $userId )
       { ... preform a query which reports a pay grade ...}
        return $payGrade;
        }
    if ( $payGrade = 'A' || $payGrade = 'B' )
           { ... return a multiplier apply to a base salary ... }
        else
           {
           return 'FAIL, no userId!';
           }
      else
          { return 'FAIL, HOURS NEGATED!'; 
          }
}

从错误陈述中,我在进行逻辑OR时产生错误,if ( $payGrade = 'A' || $payGrade = 'B' )

是否可以在条件测试中进行逻辑操作以测试是否可以运行该函数?或者我应该运行另一个能够产生' T / F'在调用函数之前的状态?

我找不到很多关于条件函数语句的文章&没有关于在'if(测试)函数中运行逻辑测试。

我有点倾向于查询中的SQL JOIN&进行多重测试,如果&有条件的功能&让SQL做繁重的工作。

感谢您抽出时间思考这个问题。

1 个答案:

答案 0 :(得分:2)

使用此if条件,您将始终获得true

if ( $payGrade = 'A' || $payGrade = 'B' )

在这里,您首先将值A 分配给变量$ payGrade。如果成功,此作业将返回true。你没有检查,因为你使用了一个=

使用双倍=修改条件:

if ( $payGrade == 'A' || $payGrade == 'B' )