【发布时间】:2013-06-08 08:43:51
【问题描述】:
我遇到了一个小问题。在一个名为 reservation 的类中,它有一个名为 reserve 的属性,在数据库中是一个 tinyint(4),以及一个属性 kamp,它是 int(10)。我正在尝试这样做:
if ($this->kamp == 387 || $this->kamp == 388 || $this->kamp == 389) {
$this->reserve = 0;
} else {
$this->reserve = 1;
}
现在我的问题是,代码总是直接跳转到 else 括号。即使我 100% 确定 $this->kamp 是 387、388 或 389。
这与数据类型有什么关系,还是我遗漏了什么?我认为问题出在这段代码中,因为在我的数据库中出现了reserve = 1 的对象,而kamp 是我提到的三个数字之一。
谢谢!
【问题讨论】:
-
用户修剪 $this->kamp 并检查
-
var_dumpkamp 查找类型和值。然后确保松散的比较结果是您的预期结果。如果这不能解决您的问题,请安装 XDebug 并逐步执行代码。
标签: php types integer comparison