2010-03-09 96 views
0

当我将站点移动到HostGator的专用服务器时,有几件事情被破坏,并且所有事件都涉及类型强制。如果$ _POST ['var']为0,则不会将其视为整数,并且不会与另一个整数进行比较。更改PHP类型强制

我经历了,并强制int类型在我发现的网站上的所有这些破碎的地方,但我相信有更多我没有找到。我对PHP.ini配置并不熟悉,但也许你能告诉我如何解决这个问题?

感谢

回答

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 

即整数比较失败的唯一的一次是当我问一个匹配的类型以及价值。

+0

所以你说这个问题可能更涉及到可能的PHP版本更改? – Webnet 2010-03-10 15:27:03

+0

我在说我无法想象为什么你的代码如果写得没有问题就会失败 - 我怀疑它与PHP版本有很大关系。 – symcbean 2010-03-11 13:43:04