为什么我不能将 STATUS 定义为常量?
Why can't I define STATUS as a constant?
当我定义 STATUS 时,它默认为 0。但是所有其他常量都有效。
define('LOCATION',07);
define('STATUS',08);
echo 'x'.STATUS."x\n";exit;
define('TERM_DATE',09);
$ php synchronize.php
x0x
您的代码运行良好!但是你的问题出在哪里,你将它定义为一个八进制值,而 08
是一个无效的八进制值,所以它被删除后的所有内容和 0 仍然存在。
您可以在此处阅读更多相关信息:http://php.net/manual/en/language.types.integer.php
引自那里:
Warning:
If an invalid digit is given in an octal integer (i.e. 8 or 9), the rest of the number is ignored.
因此您可以将其定义为字符串,例如
define('STATUS', "08");
//^ ^ See the quotes
或者将其定义为有效的八进制数。 (同样适用于:define('TERM_DATE',09);
)
当我定义 STATUS 时,它默认为 0。但是所有其他常量都有效。
define('LOCATION',07);
define('STATUS',08);
echo 'x'.STATUS."x\n";exit;
define('TERM_DATE',09);
$ php synchronize.php
x0x
您的代码运行良好!但是你的问题出在哪里,你将它定义为一个八进制值,而 08
是一个无效的八进制值,所以它被删除后的所有内容和 0 仍然存在。
您可以在此处阅读更多相关信息:http://php.net/manual/en/language.types.integer.php
引自那里:
Warning: If an invalid digit is given in an octal integer (i.e. 8 or 9), the rest of the number is ignored.
因此您可以将其定义为字符串,例如
define('STATUS', "08");
//^ ^ See the quotes
或者将其定义为有效的八进制数。 (同样适用于:define('TERM_DATE',09);
)