PHP проверить тип переменной (работа с типами переменных)


Язык php всегда старается автоматически преобразовывать типы переменных. Это дает ему гибкость.

Но часто необходимо вручную узнать тип переменной в php, и в зависимости от этого выполнить определённые действия. Для определения типов в php имеются следующие функции:

  • empty($a) – проверяет является ли переменная пустой. Если хотите проверить существование переменной то следует делает это так: if (!empty($a)) {…}. Но тут стоит обратить внимание на один нюанс – Если $a равен 0, то переменная тоже считается пустой.
  • isset($a) – Проверяет существует или нет переменная. Если переменная существует, но при этом является пустой строкой, то выражение все равно вернёт true.
  • is_numeric($a) – проверяет является ли переменная числом.
  • is_int($a) – проверяет является ли переменная целым числом.
  • is_string($a) – проверяет является ли переменная строкой.
  • is_bool($a) – эта функция вернёт true, если переменная имеет логический тип (true или false).
  • is_float($a) – вернёт true если $a является числом с плавающей запятой.
  • is_object() – Вернёт true если переменная является объектов.
  • is_array() – проверяет является ли переменная массивом. Стоит отметить что не важно каким массивом, обычным или ассоциативным.
  • gettype($a) – эта функция возвращает тип переменной $a. Возвращаемое значение будет типов: Boolean, integer или string.
  • settype($a, Type) – конвертирует переменную $a в указанный тип. Например: мы имеем переменную $a=”12 попугаев”. Сейчас gettype($a) вернёт нам “string”. После выполнения функции settype($a, “integer”); переменная $a будет преобразована в целое число и равняться будет числу 12. Если же изначально строка $a будет $a = ”попугаев 12”, то settype($a, “integer”); преобразует её в число 0. Среди возможных вариантов типов для преобразования могут использоваться типы:
    • boolean (начиная с PHP 4.2.0 - bool).
    • integer (начиная с PHP 4.2.0 - int).
    • double (начиная с PHP 4.2.0 – float).
    • string.
echo 'empty($a) - '.empty($a).'<br>';   //  Вернёт "1" т.к. переменная пуста
echo 'isset($a) - '.isset($a).'<br>';   //  Вернёт false т.к. переменная не существует

$a = 1;
$b = '12 попугаев';
$c = true;

echo 'empty($a) - '.empty($a).'<br>';   //  Вернёт false т.к 
echo 'isset($a) - '.isset($a).'<br>';   //  Вернёт 1 т.к. переменная существует

echo 'is_numeric($a) - '.is_numeric($a).'<br>';   //  Вернёт 1 т.к. это число
echo 'is_numeric($b) - '.is_numeric($b).'<br>';   //  Вернёт false т.к. это строка

echo 'is_int($a) - '.is_int($a).'<br>';   //  Вернёт 1
echo 'is_int($b) - '.is_int($b).'<br>';   //  Вернёт false
echo 'is_int($c) - '.is_int($c).'<br>';   //  Вернёт false
echo 'is_bool($c) - '.is_bool($c).'<br>';   //  Вернёт 1
echo 'is_float($a) - '.is_float($a).'<br>';   //  Вернёт false

echo 'gettype($b) - '.gettype($b).'<br>';   //  Вернёт string
$b = settype($b, integet);   //  Вернёт false
echo 'gettype($b) - '.gettype($b).'<br>';   //  Вернёт integet

 

 


Тэги:

Комментарии: 0

Прокомментировать »

 
 
 

Прокомментировать

 
 
Сообщение *
 
Проверочный код *
 
 
 
Яндекс.Метрика