Как определить тип переменной php
Перейти к содержимому

Как определить тип переменной php

  • автор:

is_string

Проверяет, представляет ли собой тип переменной строку.

Список параметров

Возвращаемые значения

Возвращает true , если значение value — строка, иначе false .

Примеры

Пример #1 Пример использования функции is_string()

$values = array( false , true , null , ‘abc’ , ’23’ , 23 , ‘23.5’ , 23.5 , » , ‘ ‘ , ‘0’ , 0 );
foreach ( $values as $value ) echo «is_string(» ;
var_export ( $value );
echo «) color: #007700″>;
echo var_dump ( is_string ( $value ));
>

Результат выполнения приведённого примера:

is_string(false) = bool(false) is_string(true) = bool(false) is_string(NULL) = bool(false) is_string('abc') = bool(true) is_string('23') = bool(true) is_string(23) = bool(false) is_string('23.5') = bool(true) is_string(23.5) = bool(false) is_string('') = bool(true) is_string(' ') = bool(true) is_string('0') = bool(true) is_string(0) = bool(false)

Смотрите также

  • is_float() — Проверяет, представляет ли собой переменная число с плавающей точкой
  • is_int() — Проверяет, представляет ли собой переменная целое число
  • is_bool() — Проверяет, представляет ли собой переменная логическое значение
  • is_object() — Проверяет, представляет ли собой переменная объект
  • is_array() — Определяет, представляет ли собой переменная массив

Как определить тип переменной php

Для получения типа переменной применяется функция gettype() , которая возвращает название типа переменной, например, integer (целое число), double (число с плавающей точкой), string (строка), boolean (логическое значение), null , array (массив), object (объект) или unknown type . Например:

"; echo gettype($b); // string ?>

Также есть ряд специальных функций, которые возвращают true или false в зависимости от того, представляет ли переменная определенный тип:

  • is_integer($a) : возвращает значение true , если переменная $a хранит целое число
  • is_string($a) : возвращает значение true , если переменная $a хранит строку
  • is_double($a) : возвращает значение true , если переменная $a хранит действительное число
  • is_numeric($a) : возвращает значение true , если переменная $a представляет целое или действительное число или является строковым представлением числа. Например:

$a = 10; $b = "10"; echo is_numeric($a); echo "
"; echo is_numeric($b);

Установка типа. Функция settype()

С помощью функции settype() можно установить для переменной определенный тип. Она принимает два параметра: settype(«Переменная», «Тип») . В качестве первого параметра используется переменная, тип которой надо установить, а в качестве второго — строковое описание типа, которое возвращается функцией gettype() .

Если удалось установить тип, то функция возвращает true , если нет — то значение false .

Например, установим для переменной целочисленный тип:

Поскольку переменная $a представляет действительное число 10.7, то его вполне можно преобразовать в целое число через отсечение дробной части. Поэтому в данном случае функция settype() возвратит true .

Преобразование типов

По умолчанию PHP при необходимости автоматически преобразует значение переменной из одного типа в другой. По этой причине явные преобразования в PHP не так часто требуются. Тем не менее мы можем их применять.

Для явного преобразования перед переменной в скобках указыется тип, в который надо выполнить преобразование:

$boolVar = false; $intVar = (int)$boolVar; // 0 echo "boolVar = $boolVar
intVar = $intVar";

В данном случае значение «false» пробразуется в значение типа int , которое будет храниться в переменной $intVar . А именно значение false преобразуется в число 0. После этого мы сможем использовать данное значение как число.

При использовании выражения echo для вывода на страницу передаваемые значения автоматически преобразуются в строку. И поскольку переменная boolVar равна false , ее значение будет преобазовано в пустую строку. Тогда как значение 0 преобразуется в строку «0».

В PHP могут применяться следующие преобразования:

  • (int), (integer) : преобразование в int (в целое число)
  • (bool), (boolean) : преобразование в bool
  • (float), (double), (real) : преобразование в float
  • (string) : преобразование в строку
  • (array) : преобразование в массив
  • (object) : преобразование в object

gettype

Возвращает тип PHP-переменной var . Для проверки типа переменной используйте функции is_*.

Список параметров

Переменная, у которой проверяется тип.

Возвращаемые значения

  • » boolean «
  • » integer «
  • » double » (по историческим причинам в случае типа float возвращается «double», а не просто «float»)
  • » string «
  • » array «
  • » object «
  • » resource «
  • » NULL «
  • «unknown type»

Примеры

Пример #1 Пример использования gettype()

$data = array( 1 , 1. , NULL , new stdClass , ‘foo’ );

foreach ( $data as $value ) echo gettype ( $value ), «\n» ;
>

Результатом выполнения данного примера будет что-то подобное:

integer double NULL object string

Смотрите также

  • settype() — Присваивает переменной новый тип
  • get_class() — Возвращает имя класса, к которому принадлежит объект
  • is_array() — Определяет, является ли переменная массивом
  • is_bool() — Проверяет, является ли переменная булевой
  • is_callable() — Проверяет, может ли значение переменной быть вызвано в качестве функции
  • is_float() — Проверяет, является ли переменная числом с плавающей точкой
  • is_int() — Проверяет, является ли переменная переменной целочисленного типа
  • is_null() — Проверяет, является ли значение переменной равным NULL
  • is_numeric() — Проверяет, является ли переменная числом или строкой, содержащей число
  • is_object() — Проверяет, является ли переменная объектом
  • is_resource() — Проверяет, является ли переменная ресурсом
  • is_scalar() — Проверяет, является ли переменная скалярным значением
  • is_string() — Проверяет, является ли переменная строкой
  • function_exists() — Возвращает TRUE, если указанная функция определена
  • method_exists() — Проверяет, существует ли метод в данном классе

gettype

Возвращает тип PHP-переменной value . Для проверки типа переменной используйте функции is_* .

Список параметров

Возвращаемые значения

  • «boolean»
  • «integer»
  • «double» (по историческим причинам в случае типа float возвращается «double» , а не просто «float» )
  • «string»
  • «array»
  • «object»
  • «resource»
  • «resource (closed)» с PHP 7.2.0
  • «NULL»
  • «unknown type»

Список изменений

Версия Описание
7.2.0 Для закрытых ресурсов теперь возвращается ‘resource (closed)’ . Ранее для закрытых ресурсов возвращалось ‘unknown type’ .

Примеры

Пример #1 Пример использования gettype()

$data = array( 1 , 1. , NULL , new stdClass , ‘foo’ );

foreach ( $data as $value ) echo gettype ( $value ), «\n» ;
>

Вывод приведённого примера будет похож на:

integer double NULL object string

Смотрите также

  • get_debug_type() — Возвращает имя типа переменной в виде, подходящем для отладки
  • settype() — Задаёт тип переменной
  • get_class() — Возвращает имя класса, которому принадлежит объект
  • is_array() — Определяет, представляет ли собой переменная массив
  • is_bool() — Проверяет, представляет ли собой переменная логическое значение
  • is_callable() — Проверяет, что значение может быть вызвано как функция в текущей области видимости
  • is_float() — Проверяет, представляет ли собой переменная число с плавающей точкой
  • is_int() — Проверяет, представляет ли собой переменная целое число
  • is_null() — Проверяет, равно ли значение переменной null
  • is_numeric() — Проверяет, содержит ли переменная число или числовую строку
  • is_object() — Проверяет, представляет ли собой переменная объект
  • is_resource() — Проверяет, представляет ли собой переменная ресурс
  • is_scalar() — Проверяет, представляет ли собой переменная скаляр
  • is_string() — Проверяет, представляет ли собой тип переменной строку
  • function_exists() — Возвращает true, если указанная функция определена
  • method_exists() — Проверяет, существует ли метод в классе

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *