在我的情况下,我应该使用!=如下,或者是!==更合适,有什么区别。
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.");
}
答案 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。它有时被称为“一致性”。操作
如果你要比较两种你知道永远是同一种类的东西,请使用!=。
以下是使用!==的示例。假设您有一个函数将在发生故障时返回整数或值FALSE
。 0 == FALSE
,但0 !== FALSE
,因为它们是不同的类型。所以你可以测试FALSE
并知道发生了错误,但测试0
并知道你得到零但没有错误。