Php как проверить тип переменной
Перейти к содержимому

Php как проверить тип переменной

  • автор:

Как проверить тип переменной (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 .

Категории

Читайте также

Комментарии

//Проверка переменной на число
$a = «4»;
if(gettype($a) === ‘integer’) <
echo ‘true’;
>else <
echo «Ложь» .$a. » Это «;
echo gettype($a);
>

PHP проверка на тип данных

В этой статье вы узнаете как и зачем проверяют на тип данных (как правило в переменной) в PHP.

Как проверить тип переменной в PHP

В ваших скриптах может возникнуть необходимость на дополнительную проверку и иногда, это проверка на какой-то определенный тип. Чаще всего, смотрим, есть ли хоть какого-то значение в переменной:

В этом языке программирования типизацию называют динамической (также, можно встретить термин “слабая типизация“). Это означает, что строка может стать числом, если мы применим оператор сложения.
За это, кстати говоря, у PHP так много ненавистников �� .

Вернемся к нашей теме. Чтобы проверить на типы данных существуют следующие проверки:

Можем проверить на массив, на тип булево (true или false), число с плавающей точкой, обычное число, строку и объект.

Эти проверки помогут вам в ваших скриптах. Например, стоит задача: если приходит целое число, то мы ничего не делаем, а если с плавающей точкой то округляем в какую-то сторону на “столько-то” знаков.

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

Основы языка PHP

Константы определяются в PHP-программе с помощью функции define( ). Например:

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

  • _FILE_ содержит имя файла, включая полный путь, который в данный момент читает PHP
  • _LINE_ содержит номер строки этого файла
  • __DIR__ представляет только путь к файлу
  • __CLASS__ представляет имя текущего класса
  • __FUNCTION__ представляет имя текущей функции
  • __METHOD__ представляет имя текущего метода
  • __NAMESPACE__ представляет имя текущего пространства имен

Переменные

Имя любой переменной в PHP начинается со знака $. Имена переменных чувствительны к регистру символов.

Тип переменной не требуется задавать специально. Конкретный тип переменной устанавливается и меняется в ходе выполнения программы.

  • логический (принимает значения true или false);
  • целое число;
  • вещественное число с плавающей точкой;
  • строка;
  • объект;
  • массив;
  • ресурс (специальный тип);
  • null (специальный тип).

Тип переменной можно проверить с помощью функции gettype().

Пример 1

Тип переменной можно изменить с помощью функции settype().

Пример 2
  • (bool) — к логическому типу;
  • (int) — к целому числу;
  • (double) — к вещественному числу;
  • (string) — к строке;
  • (array) — к массиву;
  • (object) — к объекту.

Отличие от изменения типа с помощью функции settype() состоит в том, что оператор приведения создает временную копию нового типа, оставляя саму переменную без изменений.

Пример 3

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

Пример 4

В PHP возможно обращение к одной и той же переменной с использованием различных имен. Для реализации этого используются ссылки. Ссылки позволяют двум или большему количеству переменных ссылаться на одну и ту же область памяти.

Пример 5

Операторы

Операторы PHP напоминают общеизвестные операторы языка Си.

Унарные операторы

Арифметические операторы

Оператор конкатенации

Оператор конкатенации «.» присоединяет правую строку к левой.

Пример 6

Оператор конкатенации обрабатывает операнды любых типов как строки. Результат его выполнения всегда является строкой.

Операторы присваивания

Битовые операторы

Битовые операторы позволяют изменять отдельные биты целых чисел.

Операторы сравнения

Логические операторы

Логические операторы отличаются от битовых тем, что работают не с числами, а с логическими значениями: TRUE и FALSE.

Логические операторы «И» и «ИЛИ» имеют два формата. Это не синонимы. Дело в том, что оператор or имеет приоритет ниже, чем ||, а and — ниже, чем &&. Таким образом, при построении сложных условных выражений можно обойтись без скобок. Однако, в таком способе указания порядка проще и запутаться.

Проверка содержимого переменной

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

isset($имя_переменной) #Истина, если переменная объявлена даже без присваивания значения.
empty($имя_переменной) #Истина, если значение переменной равно нулю или пустой строке, либо переменная не объявлена.

РНР также позволяет проверить тип переменной. Например, для того чтобы проверить, является ли переменная целочисленной, следует воспользоваться функцией

Результатом выполнения этой функции является TRUE, если переменная $number имеет тип integer. Рассмотрим подобные функции.

is_array ($var2) проверяет, является ли переменная $var2 массивом.
is_f loat ($number) проверяет, является ли переменная $number числом с плавающей точкой.
is_null ($varl) проверяет, равно ли значение переменной $varl нулю
is_numeric($string) проверяет, является ли переменная $string числовой строкой.
is_string ($string) проверяет, является ли переменная $string строкой.

Для проверки обратных условий следует воспользоваться символом восклицания (!). Например, при обработке следующего выражения будет получено значение TRUE, если переменная не объявлена:

Управляющие структуры

Условные операторы

В языке PHP два условных оператора: if и ?.

Существует три типа оператора if. Первый тип — базовый условный оператор. Например:

Альтернативный синтаксис оператора if:

Второй тип — условный оператор if-else. Например:

Альтернативный синтаксис оператора if-else:

Третий тип — условный оператор if-elseif. Например:

Альтернативный синтаксис оператора if-elseif:

Условный оператор ? возвращает одно из двух значений, разделенных двоеточием. Использование оператора ? может сделать более компактным текст программы. Например:

Оператор выбора

Оператор выбора switch оценивает одно выражение и в зависимости от его значения выполняет один из нескольких блоков программы. Выражение в операторе switch чаще всего бывает простой переменной. Например:

Альтернативный синтаксис оператора switch:

Цикл с параметром

Цикл с параметром for относится к наиболее старому и заслуженному виду цикла.

Пример 7

Альтернативный синтаксис оператора for:

Циклы с условием

  • while — цикл с предусловием;
  • do .. while — цикл с постусловием.

Оператор while оценивает значение условия и, если оно истинно, выполняет действия в фигурных скобках (тело цикла). Как только значение условия станет ложным, выполнение цикла прекращается.

Пример 8

Замечание для продвинутых: сокращенная запись не сработает как ожидается:

Альтернативный синтаксис оператора while:

Цикл do .. while отличается от цикла while лишь тем, что истинность условия проверяется не до, а после выполнения тела цикла.

Пример 9

В организации цикла могут участвовать еще два оператора: break (выход из цикла) и continue (переход на следующий шаг).

Как узнать тип переменной 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 .

Категории
Читайте также
Комментарии

//Проверка переменной на число
$a = «4»;
if(gettype($a) === ‘integer’) else

gettype

Returns the type of the PHP variable value . For type checking, use is_* functions.

Parameters

The variable being type checked.

Return Values
  • "boolean"
  • "integer"
  • "double" (for historical reasons "double" is returned in case of a float , and not simply "float" )
  • "string"
  • "array"
  • "object"
  • "resource"
  • "resource (closed)" as of PHP 7.2.0
  • "NULL"
  • "unknown type"
Changelog
Version Description
7.2.0 Closed resources are now reported as 'resource (closed)' . Previously the returned value for closed resources were 'unknown type' .
Examples

Example #1 gettype() example

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

foreach ( $data as $value )

The above example will output something similar to:

See Also
  • get_debug_type() — Gets the type name of a variable in a way that is suitable for debugging
  • settype() — Set the type of a variable
  • get_class() — Returns the name of the class of an object
  • is_array() — Finds whether a variable is an array
  • is_bool() — Finds out whether a variable is a boolean
  • is_callable() — Verify that a value can be called as a function from the current scope.
  • is_float() — Finds whether the type of a variable is float
  • is_int() — Find whether the type of a variable is integer
  • is_null() — Finds whether a variable is null
  • is_numeric() — Finds whether a variable is a number or a numeric string
  • is_object() — Finds whether a variable is an object
  • is_resource() — Finds whether a variable is a resource
  • is_scalar() — Finds whether a variable is a scalar
  • is_string() — Find whether the type of a variable is string
  • function_exists() — Return true if the given function has been defined
  • method_exists() — Checks if the class method exists
User Contributed Notes 1 note

Same as for «boolean» below, happens with integers. gettype() return «integer» yet proper type hint is «int».

If your project is PHP8+ then you should consider using get_debug_type() instead which seems to return proper types that match used for type hints.

Как узнать тип данных в PHP

Информация, используемая языками программирования, сохраняется в разном формате в зависимости от целей, для которых она применяется. Если вид не известен заранее или необходимо создать проверку по этому фактору, можно воспользоваться встроенным функционалом PHP, касающимся данного вопроса.

Описание функции

  • «boolean»– «Булев тип». Информация такого рода принимает вид «true» («истина») либо «ложь» («false»). Обычно используется в несложных проверках по одному критерию, но подходит и для более серьёзных задач.
  • «integer» – целое число, отрицательное или положительное. Может иметь любую длину. Записывается без кавычек, в большинстве IDE подчёркивается ярким цветом против более выдержанных палитр у строк.
  • «double» – число с «плавающей точкой» (десятичной дробью). Несмотря на использование термина «float» в большинстве других функций, для сохранения совместимости со старыми программами встречается только такое значение.
  • «string» – строка, что может содержать в себе буквы, спецсимволы и цифры. Заключается в кавычки, подойдёт для любых по длине текстов.
  • «array» – массив. Проще всего описать данный формат как аналог таблицы, предназначенный для удобной обработки компьютером. В PHP интегрированы инструменты перевода XML и JSON в собственную систему хранения подобной информации, особенностью которой является одновременная понятность и для людей, и для скриптов. Поддерживают разные форматы записи – пары «ключзначение» и «значение», могут указываться как и в форме array();,так и в квадратных скобках. Для вывода используется функция print_r();,которая, в отличие от echoи print, требует строгого соблюдения синтаксиса, характерного для остальных команд. Это связано с тем, что print_r();не является базовой единицей PHP.
  • «object» – объект. Для объединения фрагмента кода в рамках целой программы понадобятся классы, в которые входит этот род данных. Они обеспечивают более удобное чтение и редактирование скриптов, позволяя избежать задействование массы переменных с разными именами одновременно.
  • «resource» – особая переменная, не поддерживающая большинство стандартных методов взаимодействия. Используются в качестве команд для PHP при работе с плагинами – например, соединением с базой данных MySQL, открытием файловых хранилищ по FTP, верификации соединения по OpenSSL.
  • «resource (closed)» – ещё менее используемый вид данных, являющийся подтипом предыдущего и, в большинстве случаев, не используемый в создании скриптов.
  • «NULL» – нуль. Возвращается, когда переменная не объявлена или чётко указано, что её значение равно NULL. Пишется, в отличие от остальной информации, получаемой с помощью gettype();,большими буквами.
  • «unknowntype» – неизвестный вид. Возникает при затруднениях у интерпретатора в объяснении типа данных. До 7.2 версии такое значение возникало у закрытых ресурсов, которые после получили отдельное наименование.

Работа с переменными

Создание

Чтобы не вызывать одну и ту же функцию каждый раз и избежать долгого выполнения скрипта вместе с невозможностью записать информацию следует обратить внимание на переменные, в PHP представленные крайне просто в отличие от остальных языков разработки. Здесь не нужно отдельно задавать их тип и устанавливать какие-либо флаги – форма создания выглядит так:

Кавычки нужны для строк. Также можно привязать одну переменную к другой:

Этот вариант зачастую используется в совокупности с функциями, которые должны примениться ко второй переменной. Иначе это лишено явного смысла, кроме как стилистически удобного чтения кода при его самостоятельном разбитии на разделы. В этом же помогут динамические переменные, записываемые двумя знаками долларов. Они показывают значения переменной, описанной после той, что вызвана по наименованию.

Редактирование

Для одной переменной можно установить несколько значений. Если условия, отвечающие за конкретное действие, отсутствуют, будет учитываться последняя строка.

Присоединение

Случай похож на предыдущий, но вместо знака «=» используется «.=». В итоге,с помощью одного вызова можно будет получить несколько строкинформации. Внутри самих переменных присоединить что-либо можно знаком «.».

Удаление

Для того, чтобы убрать переменную, понадобится использовать unset();. Она может работать со сразу несколькими значениями. Для её задействования внутри составленной самостоятельно функции понадобится представить аргумент в качестве элемента супермассива $GLOBALS. Также есть способ привести что-либо к NULL, просто указав это в программе:

Примеры использования

Проверка типа

<?php
$array = array(
«Клавиатура»,
«Монитор»,
«Колонки»,
«Мышь»,
); // Создание массива $array
$variable = gettype($array); // Создание переменной, проверяющей тип $array
print $variable; // Вывод переменной $variable. Результат: array.
?>

Вывод переменной

<?php
$variable = «В чащах юга жил-был цитрус… — да, но фальшивый экземпляръ!»; // Объявление переменной, содержащей строку.
echo $variable; // Вывод переменной. Результат: В чащах юга жил-был цитрус… — да, но фальшивый экземпляръ!
?>

Поддерживается упрощённый вариант:

<?=$variable = «В чащах юга жил-был цитрус… — да, но фальшивый экземпляръ!»; // Объявление и вывод переменной, содержащей строку.?>

Присоединение переменной

<?php
$variable_1 = «Россия»; // Первое значение переменной
$variable_1 .= » Польша»; // Второе значение переменной
$variable_1 .= » Литва»; // Третье значение переменной
echo $variable_1; // Вывод переменной. Результат: Россия Польша Литва
?>

PHP проверка на тип данных

В этой статье вы узнаете как и зачем проверяют на тип данных (как правило в переменной) в PHP.

Как проверить тип переменной в PHP

В ваших скриптах может возникнуть необходимость на дополнительную проверку и иногда, это проверка на какой-то определенный тип. Чаще всего, смотрим, есть ли хоть какого-то значение в переменной:

В этом языке программирования типизацию называют динамической (также, можно встретить термин “слабая типизация“). Это означает, что строка может стать числом, если мы применим оператор сложения.
За это, кстати говоря, у PHP так много ненавистников �� .

Вернемся к нашей теме. Чтобы проверить на типы данных существуют следующие проверки:

Можем проверить на массив, на тип булево (true или false), число с плавающей точкой, обычное число, строку и объект.

Эти проверки помогут вам в ваших скриптах. Например, стоит задача: если приходит целое число, то мы ничего не делаем, а если с плавающей точкой то округляем в какую-то сторону на “столько-то” знаков.

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

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

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