php4 — Можете ли вы проверить существование переменной с помощью if ($ var) в PHP 4?

Я обновляю старый код с PHP 4 до PHP 5 и часто вижу следующее:

if (!$variable) {
// for example...
$variable = "test";
}

Чтобы понять код, мне нужно знать, возможно ли было ранее в PHP 4 раза проверить наличие переменной, выполнив это.

Извините, но я не смог найти ответ на этот вопрос.

-1

Решение

if (!$variable) тесты если $variable оценивает false, Согласно главе Преобразование в логическое значение, многие вещи оценивают как false:

  • само логическое ЛОЖЬ
  • целое число 0 (ноль)
  • Поплавок 0.0 (ноль)
  • пустая строка и строка «0»
  • массив с нулевыми элементами
  • специальный тип NULL (в том числе неустановленные переменные)
  • SimpleXML объекты, созданные из пустых тегов

Поэтому использование такого рода кода для проверки того, что переменная уже установлена, опасно. Кроме того, он будет генерировать уведомления, когда переменная используется, но не установлена.

Да, код будет выполняться с PHP 4. Но вы можете получить неожиданные результаты, когда $variable установлен в 0, пустая строка или строка '0',

Для более чистого кода, вы должны использовать Исеть:

if (!isset($variable)) {
// for example...
$variable = "test";
}

Согласно документации, isset был введен с PHP 4.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]