PHP比较运算符错误


PHP comparison operator error

我使用"Ampps and流浪者"Scotch Box"作为本地服务器,我的问题是=====操作员按我的预期工作,但在托管时它们的行为非常不同,例如我检查站点状态和用户角色,如此

if($status ===0 and $request->user()->role!==1){
}else{
}

这个if语句在本地流浪者和Ammps上都非常有效,但在我的主机上总是其他部分有效,有任何PHP设置可以设置这种差异吗?

我有一个类似的问题,但比较不完全相同:

@if ($var !== 0)

以下代码在两台机器上都有效:

@if (($var != 0) || (is_null($var)))

我没有尝试,但颠倒逻辑应该可以解决你的问题:

if ((($status == 0) && (!is_null($status)) and ($request->user()->role!=1))

注意:您不需要在第二个条件中检查NULL,因为它被转换为0,因此不相等。