!=和!==之间的区别

时间:2013-12-20 17:53:56

标签: php logical-operators

在我的情况下,我应该使用!=如下,或者是!==更合适,有什么区别。

private function authenticateApi($ip,$sentKey) {

    $mediaServerIp = '62.80.198.226';
    $mediaServerKey = '45d6ft7y8u8rf';        

    if ($ip != $mediaServerIp ) {
        return false
    }
    elseif ($sentKey != $mediaServerKey ) {
        return false
    }
    else {
        return true;
    }
}

public function setVideoDeletedAction(Request $request)
{
    //Authenticate sender
    if ( $this->authenticateApi($request->server->get("REMOTE_ADDR"),$request->headers->get('keyFile')) != true ) {
       new response("Din IP [$ip] eller nyckel [********] är inte godkänd för denna åtgärd.");
    }

4 个答案:

答案 0 :(得分:2)

!=检查值

if($a != 'true')

!==检查值并输入

if($a !== 'true') 

答案 1 :(得分:1)

http://www.php.net/manual/en/language.operators.comparison.php

正如手册所说,人们也会比较类型。

答案 2 :(得分:0)

!==更严格。 '1'==1返回true,但'1'===1 - false,因为类型不同。

答案 3 :(得分:0)

===!==用于比较可能属于不同类型的对象。如果类型AND值相等,===将返回TRUE;如果类型OR值不同,!==将返回TRUE。它有时被称为“一致性”。操作

如果你要比较两种你知道永远是同一种类的东西,请使用!=。

以下是使用!==的示例。假设您有一个函数将在发生故障时返回整数或值FALSE0 == FALSE,但0 !== FALSE,因为它们是不同的类型。所以你可以测试FALSE并知道发生了错误,但测试0并知道你得到零但没有错误。