我没有找到任何在线方式或通过PHP文档来解决这个问题。
是否有友好或轻松的方式检查变量是__FILE__
还是__DIR__
$var
?与Magic Constant相似?
我想检查传递的function test($var) {
if ($var == 'string_value') {
// Do this...
}
elseif (is_magic_constant($var)) {
// Do this...
}
else {
// Do this...
}
}
test('string_value');
test(__FILE__);
并在其上运行一些if / else条件。
小例子。
updateRequest.setHeader("Content-Type", "application/json;charset=UTF-8");
StringEntity entity= new StringEntity(json, "UTF-8");
updateRequest.setEntity(entity);
答案 0 :(得分:0)
如果您致电test(__FILE__);
,会立即展开__FILE__
,以便您的test()
功能收到完整文件路径的字符串。
如果您致电test('__FILE__');
,它仍会收到一个字符串,但该字符串将为"__FILE__"
,您可以通过defined($var);
运行该字符串,看看它是否为已知常量。
无法检查它是否是 magic 常量。因此,您无法将它们与reserved constants,已安装的PHP扩展定义的任何常量或您自己define()
在应用程序中的常量区分开来。您可以检查的是$var
中的字符串是否与定义的常量的名称匹配。