快速的问题:为什么下面总是比较为假,尽管在打印时都显示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