Loftschool школа онлайн обучения IT профессиям
Профессии
  • Веб-разработчик
  • Frontend с нуля
  • Frontend разработчик
  • Backend разработчик
  • Full Stack разработчик
  • UX/UI Дизайнер
  • Интернет-маркетолог
  • Android-разработчик
Курсы
            • Веб-тестирование
            • Основы вёрстки
            • Веб для начинающих
            • JavaScript
            • Vue.js
            • React.js
            • Node.js
            • PHP
            • UX/UI-дизайн: базовый
            • UX/UI-дизайн: PRO
            • Основы Python
            • Python: машинное обучение
            • Product Management
            • Контекстная реклама
            • SMM
            • SEO для всех
            • Android: базовый
            • Android: продвинутый
          • Главная
          • Блог
          • Статьи
          • PHP: как узнать тип переменной: 2 способа
          Полезный блог
          Сергей Ломакин
          Автор блога Loftschool
          Опубликовано 25.05.2023 15:00

          PHP: как узнать тип переменной: 2 способа

          PHP: как узнать тип переменной

          Оглавление:

          Какие бывают типы данных
          Что такое gettype
          Что такое settype. Как назначить переменной новый тип

          Какие типы данных существуют в PHP

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

          1. «Скалярные» или простые типы.

          2. Составные типы.

          3. Специальные типы.

          Простые типы

          В PHP существует четыре простых типа данных:

          • булев (boolean),
          • целое число (integer),
          • дробное число (float),
          • строка (string).

          Сложные или составные типы

          Также в PHP есть два основных типа данных:

          • массив (array),
          • объект (object).

          Специальные типы

          В языке предусмотрено два таких типа данных:

          • ресурс (resource),
          • NULL.

          Часто нужно менять данные с одного типа на другого. Или, например, просто узнавать тип данных для какого-либо объекта. В этих и множестве других случаев помогут две функции: gettype и settype.

          Рассмотрим их подробнее.

          Остались вопросы?
          Укажите ваши данные, и мы вам перезвоним

          gettype. Пример

          Функция gettype() возвращает тип данных переменной, переданной ей в качестве аргумента. При этом она может получить вообще любой тип переменной.

          Необходимо сохранить возвращаемое значение в переменной и вывести его на экран. Например, вот так

          <?php
          
          $ini = 3;
          echo gettype($ini) ."
          "; $mini = 3.2; echo gettype($mini) ."
          "; $dini = "Privet"; echo gettype($dini) ."
          "; $bini = array(); echo gettype($bini) ."
          "; $gini = array("cat", "dog", "horse"); echo gettype($gini) ."
          "; $tini = NULL; echo gettype($tini) ."
          "; $zini = false; echo gettype($zini) ."
          "; ?>

          Вывод:

          Вывод примера

          Вывод примера

          Подробнее о функции

          Функция gettype() — это встроенная функция в PHP для получения типа переменной.

          Для проверки типа текущей переменной используется следующий синтаксис:

          string gettype($var)

          Параметры: принимает один аргумент $var. Это название переменной, тип которого мы и хотим проверить.

          Возвращаемое значение: строка, описывающая тип данных:

          • boolean.
          • NULL.
          • integer.
          • resource.
          • double (возвращается, если аргумент является дробным числом).
          • object.
          • array.
          • unknown type (неизвестный тип).

          Пример использование функции ниже:

          <?php
          // Программа покажет суть функции gettype()
          
          $var1 = true; // булево
          $var2 = 3; // целое
          $var3 = 5.6; // дабл
          $var4 = "Abc3462"; // строка
          $var5 = array(1, 2, 3); // массив
          $var6 = new stdClass; // объект
          $var7 = NULL; // null
          $var8 = tmpfile(); // ресур
          
          
          echo gettype($var1)."\n";
          echo gettype($var2)."\n";
          echo gettype($var3)."\n";
          echo gettype($var4)."\n"
          echo gettype($var5)."\n";
          echo gettype($var6)."\n";
          echo gettype($var7)."\n";
          echo gettype($var8)."\n";
          ?>

          Вывод:

          Вывод примера

          Вывод примера

          Остались вопросы?
          Укажите ваши данные, и мы вам перезвоним

          settype. Как установить тип для переменной

          settype() используется для изменения типа переменной — с текущего на необходимый. Функция принимает два параметра:

          1. Имя переменной, которую нужно преобразовать.
          2. Тип, к которому нужно преобразовать переменную.

          Сразу пример:

          <?php
          
          $ini = 7;
          settype($ini,'string');
          echo gettype($ini)."
          "; $mini = 4.3; settype($mini,'integer'); echo gettype($mini) . "
          "; $dini = "Hi bears"; settype($dini,'array'); var_dump($dini); echo"
          "; echo gettype($dini) . "
          "; $gini = array("red", "green", "blue"); settype($gini,'string'); echo gettype($gini) . ";"; ?>

          Вывод:

          string
          integer
          array(1) { [0]=> string(12) "Hi bears" }
          array
          string;

          Подробнее о функции

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

          Переменная — один из самых частых объектов, которым оперирует программист в PHP и других языках.

          Синтаксис:

           
          boolean settype($variable_name, $type)

          Параметры: принимает два параметра:

          • $variable_name: имя переменной.
          • $type: строка с именем устанавливаемого типа. Возможные значения: "boolean" или "bool", "integer" или "int", "float" или "double", "string", "array", "object", "null".

          Возвращаемое значение: TRUE, если преобразование типов переменной прошло успешно, и FALSE — в обратном случае.

          <?php
          
          // Программа для иллюстрации функции settype()
          
          $var1 = "234xyz";
          $var2 = 4;
          $r = true;
          settype($var1, "integer");
          settype($var2, "float");
          settype($r, "string");
          echo $var1."\n";
          echo $var2."\n";
          echo $r."\n";
          
          
          ?>

          Вывод:

          234
          4
          2

          Бонус. Специальные функции

          • is_object($a): вернет true, если $a содержит ссылку на какой то объект.
          • is_bool($a): вернет true, если в $a хранится булево значение.
          • is_integer($a): вернет true, если в $a записано целое число.
          • is_array($a): вернет true, если $a является массивом.
          • is_string($a): вернет true, если $a содержит строку.
          • is_null($a): вернет true, если $a представляет null.
          • is_double($a): вернет true, если $a является дробным числом.
          • is_scalar($a): вернет true, если $a является простым типом данных, например, представляет из себя логическое значение или строку.
          • is_numeric($a): возвращает true, если $a является действительным, либо же целым числом. Также true будет возвращен в случае, когда переменная представляет из себя строковое представление числа.

          Немного о преобразовании

          PHP умеет автоматически преобразовывать разные типы переменных друг в друга. Но возможность задать явное преобразование также предусмотрена в языке.

          Изучение типов переменных принесет вам пользу в долгосрочной перспективе. Ну а чтобы пользы было ещё больше — успейте записаться на курс бэкенд-разработчик от Loft.

          Допустим нам нужно изменить "false" в int. Чтобы это сделать вы можете использовать, например, такой подход:

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

          Обратите внимание: значение находится внутри переменной $intVar.

          Вы можете задавать явное преобразование в следующие типы объектов:

          • float
          • object
          • int
          • array
          • string
          • bool

          Остались вопросы?
          Укажите ваши данные, и мы вам перезвоним

          Поделиться

          Не сиди

          без дела

          учись

          онлайн!

          Содержание

          • Какие бывают типы данных
            • Что такое gettype
              • Что такое settype. Как назначить переменной новый тип
                • © 2012 - 2023 LOFT

                  Школа онлайн образования

                • © 2012 - 2023 LOFT

                  Школа онлайн образования

                  • +7 (800) 600 09 54
                  • +7 (812) 339 22 01
                  • info@loftschool.com
                • Полезная рассылка

                  Подпишись, чтобы быть в курсе наших новостей, акций и скидок.

                • Полезное
                  • Карта курсов
                  • B2B
                  • Работодателям
                  • Партнерская программа
                  • Вакансии
                  • Стать автором
                  • Подарочные сертификаты
                  • Вебинары
                  • Блог
                  • FAQ
                • Информация
                  • О нас
                  • Отзывы
                  • Сведения об образовательной организации
                  • Правовая информация
                  • Способы оплаты
                  • Контакты
                  Безопасная передача данных