PHP中的2!= 2

时间:2014-11-09 15:07:00

标签: php cakephp

这让我疯了,我有:

$listingUserId = $this->Photo->Listing->field('user_id');
$userId = $this->Auth->user('id');
if($listingUserId != $userId) {
      $this->Session->setFlash(__("User ID $userId did not match listing user ID    $listingUserId or listing does not exist"));
      return $this->redirect(array('controller'=>'listings','action' => 'index'));
}

应该是2和2,数据库内容确认填充了user_id字段。 所以我检查了变量内部的内容,将代码修改为:

$listingUserId = $this->Photo->Listing->field('user_id');
$userId = $this->Auth->user('id');
die("$listingUserId and $userId");
if(...

我得到了输出:

2 and 2 

发生了什么事?一些“量子力学”效应?当观察var内容时,如果不观察内容,它们是相等的吗?

Var_dump给出:

string '2' (length=1)
string '2' (length=1)

1 个答案:

答案 0 :(得分:-1)

你的变量之一可能是string类型而另一个是整数。 2!= 2这将返回false所以你的代码将执行else block。