PHP:带未定义常量的switch语句
作者:互联网
关于PHP如何处理switch语句的一个简单问题.
如果我有以下代码
switch (APPLICATION_ENVIRONMENT) {
case 'production':
echo 'production';
break;
case 'stage':
echo 'stage';
break;
default: //dev
echo 'dev';
}
如果未在任何地方定义APPLICATION_ENVIRONMENT,这仍将评估为默认值吗?还是会抛出错误?查看正在运行的应用程序中的现有源,谁曾经这样做过,谁先对常量进行了if(defined())来检查它是否存在,如果switch可以对我正确地进行评估,那是浪费的
谢谢
DJ
解决方法:
它将评估开关,但是会引发错误.
尝试以下方法:
$env = defined('APPLICATION_ENVIRONMENT') ? APPLICATION_ENVIRONMENT : null;
switch($env) {
..
}
标签:constants,switch-statement,php 来源: https://codeday.me/bug/20191101/1981532.html