改变PHP类型强制

时间:2010-03-09 17:24:26

标签: php type-coercion

当我将我的网站从HostGator移动到一个专用服务器时,有几件事情被打破,所有内容都被破坏,涉及类型强制。如果$ _POST ['var']为0,则不认为它是整数,并且无法与另一个整数进行比较。

我在我找到的网站上所有那些破碎的地方经历了强制性类型,但我确信还有更多我找不到的地方。我并不熟悉PHP.ini配置,但也许你可以告诉我如何解决这个问题?

由于

1 个答案:

答案 0 :(得分:5)

不 - 您无法更改PHP类型转换功能,但您可以编写代码以更好地处理PHP的动态类型转换。

所有请求变量都会自动视为字符串。如果没有看到你的代码,就很难确定你的“未通过比较”的标准是什么。

如果我跑:

print var_export((0=="0"), true) . "\n";
print var_export(("0"==0), true) . "\n";
print var_export((0==(integer)"0"), true) . "\n";
print var_export((0==="0"), true) . "\n";

然后我得到

true
true
true
false

即。整数比较失败的唯一时间是我要求匹配类型和值。