快速的問題:爲什麼下面總是比較爲假,儘管在打印時都顯示22?不,這個常量沒有用引號定義int。整數常量不等於常規整數?
<?php
...
if(count($_POST) != _NUM_TEAM_REG_FORM_FIELDS_)
$fields = $_POST;
else die(Core::FormatError("Incorrect number of form fields."));
?>
謝謝!
快速的問題:爲什麼下面總是比較爲假,儘管在打印時都顯示22?不,這個常量沒有用引號定義int。整數常量不等於常規整數?
<?php
...
if(count($_POST) != _NUM_TEAM_REG_FORM_FIELDS_)
$fields = $_POST;
else die(Core::FormatError("Incorrect number of form fields."));
?>
謝謝!
Why does the below always compare as false, despite both showing 22 when printed?
因爲你有錯誤地比較它。 (即已經使用!=代替==)
嘗試下面的代碼代替,
if(count($_POST) == _NUM_TEAM_REG_FORM_FIELDS_)
$fields = $_POST;
else die(Core::FormatError("Incorrect number of form fields."));
注意,我比較了它們作爲公平的。
你是如何定義常量的? – 2012-08-06 22:26:09
像這樣:define(「_ NUM_TEAM_REG_FORM_FIELDS_」,22);請注意,此網站會在常量標識符前後自動省略下劃線。 – Lee 2012-08-06 22:26:49
請添加兩者的var_export,然後您可以看到它們是否是字符串。另外我想你做了一個編輯,把'!=='改成'!='? – 2012-08-06 22:26:50