Как проверить, установлена ​​ли переменная в PHP?

Как выучить PHP2 Изучение

В этом кратком совете по PHP мы расскажем, как проверить, установлены ли переменные, и если да, то каковы их значения — это очень распространенная задача в программировании.

При проверке того, установлена ​​ли переменная в PHP, нашим первым импульсом может быть использование функции isset(). И хотя это будет работать в большинстве случаев, если мы посмотрим на определение функции isset(), мы увидим следующее:

isset: определяет, объявлена ​​ли переменная и отлична ли она от null.

Однако в PHP мы можем установить переменную NULL:

<?php
    $variable = NULL;
    var_dump(isset($variable));

Эта атрибуция вернется false, даже если мы явно установили для нашей переменной значение NULL! Это условие внутри PHP может вызвать некоторую путаницу. По мере того, как мы продолжим ниже, мы рассмотрим isset()метод и то, когда его использовать, и какие другие методы мы можем использовать, когда issetони не работают.

Введите empty() и is_null()

Хотя этот isset()метод может помочь нам определить, было ли переменной присвоено какое-либо значение, он не поможет нам, если переменной было присвоено значение NULL. Чтобы справиться с этой ситуацией, нам нужно использовать либо функцию empty(), либо is_null(). Функция empty()определит, является ли переменная пустой. Он будет работать (то есть return true) для:

  • » «(пустая строка)
  • 0(0 как целое число)
  • 0.0(0 как число с плавающей запятой)
  • «0»(0 в виде строки)
  • NULL
  • FALSE
  • array()(пустой массив)
  • $var;(переменная объявлена, но без значения)

Это означает, что мы можем использовать empty(), чтобы определить, является ли переменная пустой или нет. И в этом случае оба NULLи falseсчитаются пустыми:

<?php
    $variable = NULL;
    var_dump(empty($variable));

Мы также можем использовать is_null()функцию. Эта функция определяет, является ли переменная нулевой или нет.

Читайте также:  7 вещей, которые вы должны знать перед переходом на Linux

Вот пример использования is_null(), чтобы определить, является ли переменная нулевой или нет:

<?php
    $variable = NULL;
    var_dump(is_null($variable));

Самое важное при работе с переменными в PHP — это понимать разницу между isset(), is_null(), и empty(). Эти три функции можно использовать для определения состояния переменной, но они имеют разное поведение. В следующей таблице можно выделить различия между функциями.

“” «foo» NULL FALSE 0 undefined
empty() Истинный ЛОЖЬ Истинный Истинный Истинный Истинный
is_null() ЛОЖЬ ЛОЖЬ Истинный ЛОЖЬ ЛОЖЬ Верно (ошибка)
isset () Истинный Истинный ЛОЖЬ Истинный Истинный ЛОЖЬ

Есть ли единственная функция, которую мы можем использовать?

Использование get_defined_vars()вернет ассоциативный массив с ключами в качестве имен переменных и значениями в качестве значений переменных. Мы по-прежнему не можем использовать isset(get_defined_vars()[‘variable’])здесь, потому что ключ может существовать, а значение по-прежнему равно null, поэтому мы должны использовать array_key_exists(‘variable’, get_defined_vars()).

Например:

<?php
    $variable = null;
    $isset = array_key_exists('variable', get_defined_vars());
    var_dump($isset); // true

    $isset = array_key_exists('otherVariable', get_defined_vars());
    var_dump($isset); // false

Используя get_defined_vars()таким образом, мы можем быть на 100% уверены, что проверяем, установлена ​​ли переменная или нет.

Заключение

В этой короткой статье мы обсудили, как мы можем проверить, установлена ​​ли переменная в PHP или нет. Мы также рассмотрели различия между set, empty и null и ключевые моменты, которые следует учитывать при использовании общих функций isset(), is_null()и empty(). Итак, в следующий раз, когда вам нужно будет проверить состояние переменной PHP, у вас будет вся необходимая информация, чтобы вы могли выбрать правильный метод и устранить все неясности из своего кода.

Оцените статью
bestprogrammer.ru
Добавить комментарий