这让我疯了,我有:
$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)
答案 0 :(得分:-1)
你的变量之一可能是string类型而另一个是整数。 2!= 2这将返回false所以你的代码将执行else block。