Подтвердить что ты не робот

Проверка постоянной константы

Почему это невозможно?

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;
}

Я просто хотел сделать его немного чище, просто указав на константу.

4b9b3361

Ответ 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