Получение и установка типа переменной. Преобразование типов

Последнее обновление: 12.03.2021

Получение типа переменной

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

<?php
$a = 10;
$b = "10";
echo gettype($a); // integer
echo "<br>";
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 "<br>";
    echo is_numeric($b);
    

    Оба выражения is_numeric() возвратят true, так как переменная $a представляет число, а переменная $b является строковым представлением числа

  • is_bool($a): возвращает значение true, если переменная $a хранит значение true или FALSE

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

  • is_null($a): возвращает значение true, если переменная $a хранит значение null

  • is_array($a): возвращает значение true, если переменная $a является массивом

  • is_object($a): возвращает значение true, если переменная $a содержит ссылку на объект

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

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

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

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

<?php
$a = 10.7;
settype($a, "integer");
echo $a; // 10
?>

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

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

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

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

$boolVar = false;
$intVar = (int)$boolVar; // 0
echo "boolVar = $boolVar<br>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

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850