2010-03-09 99 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