Проверка постоянной константы
Почему это невозможно?
if(!empty( _MY_CONST)){
...
Но все же это:
$my_const = _MY_CONST;
if(!empty($my_const)){
...
define( 'QUOTA_MSG' , '' ); // There is currently no message to show
$message = QUOTA_MSG;
if(!empty($message)){
echo $message;
}
Я просто хотел сделать его немного чище, просто указав на константу.
Ответы
Ответ 1
См. руководство : empty()
- это языковая конструкция, а не функция.
empty()
проверяет только переменные, так как все остальное приведет к ошибке синтаксического анализа. Другими словами, следующее не будет работать: empty(trim($name))
.
Итак, вам придется использовать переменную - empty()
действительно то, что вы хотите в первую очередь? Он будет возвращать true, если постоянное значение равно "0".
Возможно, вам нужно проверить существование константы с помощью defined()
вместо этого?
Ответ 2
Просто сообщите, что вы можете сделать
if(!empty(MY_CONST))
так как PHP 5.5.
Ответ 3
Вы можете согласиться с этим, если по какой-то причине вы все еще не используете PHP 5.5.
if (defined('MY_CONST') && MY_CONST) {
echo 'OK';
}
Ответ 4
как насчет strlen?
if(strlen(MY_CONST) == 0)
Ответ 5
if (!empty(constant('MY_CONST')) {
...
}
смешанная константа (строка $name)
Возвращает значение константы, обозначенное $name, или NULL, если константа не определена
http://php.net/manual/en/function.constant.php