- Как проверить тип переменной (PHP)
- Пример
- Результат
- Примечание
- Категории
- Читайте также
- Комментарии
- Вход на сайт
- Социальные сети
- is_string
- Примеры
- Смотрите также
- User Contributed Notes 3 notes
- PHP проверка на тип данных
- Как проверить тип переменной в PHP
- gettype
- Список параметров
- Возвращаемые значения
- Примеры
- Смотрите также
Как проверить тип переменной (PHP)
В PHP для определения типа переменной существует функция string gettype(mixed var) , которая возвращает название типа переменной в виде строки: null, boolean, integer, string, double, array, object, resource.
Пример
Определим по одной переменной каждого вида, и установим соответствующее переменной значение, а затем выведем результат проверки каждой переменной на экран.
Результат
NULL
boolean
integer
double
string
array
resource
object
Как видно из результата, функция gettype() отлично справляется с поставленной задачей.
Примечание
Если тип переменной float , то результат функции будет double .
Категории
Читайте также
- Переменная является числом (PHP)
- Как определить браузер в PHP
- Определить поискового бота (PHP)
- Как проверить права доступа (PHP)
- Преобразовать массив в объект (PHP)
- Проверка электронной почты (PHP)
- Деление без остатка (PHP)
- Первые N символов строки цифры (PHP)
- Дата изменения файла (PHP)
- Singleton Trait (PHP)
- Редирект (PHP)
- Склонение числительных на PHP
Комментарии
//Проверка переменной на число
$a = «4»;
if(gettype($a) === ‘integer’) echo ‘true’;
>else echo «Ложь» .$a. » Это «;
echo gettype($a);
>
Вход на сайт
Введите данные указанные при регистрации:
Социальные сети
Вы можете быстро войти через социальные сети:
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 ));
>
?>?php
Результат выполнения данного примера:
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() — Определяет, является ли переменная массивом
User Contributed Notes 3 notes
Using is_string() on an object will always return false (even with __toString()).
class B public function __toString () return «Instances of B() can be treated as a strings!\n» ;
>
>
$b = new B ();
print( $b ); //Instances of B() can be treated as a strings!
print( is_string ( $b ) ? ‘true’ : ‘false’ ); //false
?>
As noted earlier, is_string() returns false on an object that has a __toString() method. Here is a simple way to do a check that will work:
// determine if the passed argument can be treated like a string.
function is_stringy ( $text ) return ( is_string ( $text ) || ( is_object ( $text ) && method_exists ( $text , ‘__toString’ ));
>
is_string() of an integer or float returns false, so it might be useful to include an is_numeric() when checking if a value is stringy:
function is_stringy ( $val ) return ( is_string ( $val ) || is_numeric ( $val )
|| ( is_object ( $val ) && method_exists ( $val , ‘__toString’ )));
>
?>
Test code (which should print «vector N OK» for each test vector):
foreach ([[ NULL , false ], [ false , false ], [ true , false ],
[ 0 , true ], [[], false ], [ 0.1 , true ], [ «x» , true ],
[ «» , true ], [new Exception ( «x» ), true ]] as $idx => $vector ) list ( $val , $expected ) = $vector ;
if ( is_stringy ( $val ) != $expected ) print ( «mismatch at $idx \n» );
var_dump ( $val );
> else print ( «vector $idx OK\n» );
>
>
?>
PHP проверка на тип данных
В этой статье вы узнаете как и зачем проверяют на тип данных (как правило в переменной) в PHP.
Как проверить тип переменной в PHP
В ваших скриптах может возникнуть необходимость на дополнительную проверку и иногда, это проверка на какой-то определенный тип. Чаще всего, смотрим, есть ли хоть какого-то значение в переменной:
В этом языке программирования типизацию называют динамической (также, можно встретить термин “слабая типизация“). Это означает, что строка может стать числом, если мы применим оператор сложения.
За это, кстати говоря, у PHP так много ненавистников 🙂 .
Вернемся к нашей теме. Чтобы проверить на типы данных существуют следующие проверки:
if (is_array($arr)) < // переменная является массивом >/* is_bool() - Проверяем, является ли переменная булевой is_int() - Проверяем, является ли переменная целым числом is_numeric() - Проверяем, является ли переменная числом или строкой, содержащей число is_float() - Проверим, является ли переменная числом с плавающей точкой is_string() - Проверим, является ли переменная строкой is_object() - Проверим, является ли переменная объектом */
Можем проверить на массив, на тип булево (true или false), число с плавающей точкой, обычное число, строку и объект.
Эти проверки помогут вам в ваших скриптах. Например, стоит задача: если приходит целое число, то мы ничего не делаем, а если с плавающей точкой то округляем в какую-то сторону на “столько-то” знаков.
Также, бывают случаи, когда в переменную может записываться как число, так и массив, и нам нужно предусмотреть все эти варианты.
Есть также проверка и для NULL:
Вот такие вот простые и полезные вещи могут улучшить наш код 🙂
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() — Проверяет, существует ли метод в данном классе