【问题标题】:Comparing Object Attributes to Integers in OO PHP?将对象属性与 OO PHP 中的整数进行比较?
【发布时间】: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_dump kamp 查找类型和值。然后确保松散的比较结果是您的预期结果。如果这不能解决您的问题,请安装 XDebug 并逐步执行代码。

标签: php types integer comparison


【解决方案1】:

我认为这对你有用。

$val = intval($this->kamp);

然后打印或回显结果是否会给您带来价值?

如果我能帮助你更多,请告诉我。

【讨论】:

  • 您好,感谢您的帮助,谢谢。我试过使用 intval,但它对我没有帮助。我会尝试回显/打印结果!
  • 它是什么返回 pr 打印也尝试使用 var_dump
  • 嗯,变量好像是NULL什么的。我正在使用 Exceptions 来显示这些值,因为这会使我对我的程序进行最少的更改。有什么方法可以将 var_dump 转换为字符串值?
  • no PHP 中的 var_dump() 函数用于显示一个或多个变量的结构化信息(类型和值)。
  • 如果我能帮助你更多,请告诉我。
猜你喜欢
  • 1970-01-01
  • 2022-07-12
  • 1970-01-01
  • 1970-01-01
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
相关资源
最近更新 更多