我正在尝试一些复合条件函数测试的代码。我一直遇到语法错误&我相信这可能是不可能的。有谁知道更好吗?代码片段如下:
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做繁重的工作。
感谢您抽出时间思考这个问题。
答案 0 :(得分:2)
使用此if条件,您将始终获得true
。
if ( $payGrade = 'A' || $payGrade = 'B' )
在这里,您首先将值A
分配给变量$ payGrade。如果成功,此作业将返回true
。你没有检查,因为你使用了一个=
。
使用双倍=
修改条件:
if ( $payGrade == 'A' || $payGrade == 'B' )