Типы данных

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

PHP является языком с динамической типизацией. Это значит, что тип данных переменной выводится во время выполнения, и в отличии от ряда других языков программирования в PHP не надо указывать перед переменной тип данных.

В PHP есть десять базовых типов данных:

  • bool (логический тип)

  • int (целые числа)

  • float (дробные числа)

  • string (строки)

  • array (массивы)

  • object (объекты)

  • callable (функции)

  • mixed (любой тип)

  • resource (ресурсы)

  • null (отсутствие значения)

Из этих типов данных первые четыре являются скалярными: bool, int, float, string. Поэтому вначале именно их и рассмотрим.

int (целочисленный тип)

Представляет целое число со знаком.

$num = -100;
echo $num;

Здесь переменная $num представляет целочисленный тип, так как ей присваивается целочисленное значение.

Кроме десятичных целых чисел PHP обладает возможностью использовать также двоичные, восьмеричные и шестнадцатеричные числа. Шаблоны чисел для других систем:

  • шестнадцатеричные : 0[xX][0-9a-fA-F]

  • восьмеричные : 0[0-7]

  • двоичные : 0b[01]

Например:

<?php
// Все числа в десятичной системе имеют значение 28
$num_10 = 28; // десятичное число
$num_2 = 0b11100; // двоичное число (28 в десятичной системе)
$num_8 = 034; // восьмеричное число (28 в десятичной)
$num_16 = 0x1C; // шестнадцатиричное число (28 в десятичной)
echo "num_10 = $num_10 <br>"; 
echo "num_2 = $num_2 <br>"; 
echo "num_8 = $num_8 <br>";  
echo "num_16 = $num_16";
?>

Переменная типа int занимает в памяти 32 бита, то есть может принимаь значения от -2 147 483 648 до 2 147 483 647. Если переменная получает числовое значение вне этого диапазона, то она трактуется как переменная типа float

Тип float (числа с плавающей точкой)

Размер числа с плавающей точкой зависит от платформы. Максимально возможное значение, как правило, составляет 1.8*10308 с точностью около 14 десятичных цифр. Например:

<?php
$a1 = 1.5; 
$a2 = 1.3e4; // 1.3 * 10^4 
$a3 = 6E-8; // 0.00000006
?>

Тип bool (логический тип)

Переменные логического типа могут принимать два значения: true и false или иначе говоря истина и ложь. Чаще всего логические значения используются в условных конструкциях:

<?php
$foo = true;
$boo = false;
?>

Тип string (строки)

Для работы с текстом можно применять строки. Строки бывают двух типов: в двойных кавычках и одинарных. От типа кавычек зависит обработка строк интерпретатором. Так, переменные в двойных кавычках заменяются значениями, а переменные в одинарных кавычках остаются неизменными.

<?php
$a=10;
$b=5;
$result = "$a+$b <br>";
echo $result;
$result = '$a+$b';
echo $result;
?>

В этом случае мы получим следующий вывод:

10+5 
$a+$b

Кроме обычных символов, строка может содержать специальные символы, которые могут быть неправильно интерпретированы. Например, нам надо добавить в строку кавычку:

$text = "Модель "Apple II"";

Данная запись будет ошибочна. Чтобы исправить ошибку, мы можем сочетать различные типы кавычек ('Модель "Apple II"' или "Модель 'Apple III'") или использовать слеш, чтобы ввести кавычку в строку:

$text = "Модель \"Apple II\"";

Специальное значение null

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

<?php
$a;
echo $a;
?>

Использование значения null поможет избежать данной ситуации. Кроме того, мы сможем проверять наличие значения и в зависимости от результатов проверки производить те или иные действия:

<?php
$a = null;
echo "a = $a";
?>

Константа null не чувствительна к регистру, поэтому мы можем написать и так:

$a = NULL;

Динамическая типизация

Поскольку PHP - язык с динамической типизацией, то мы можем присваивать одной и той же переменной значения разных типов:

<?php
$id = 123;
echo "<p>id = $id</p>";
$id = "jhveruuyeru";
echo "<p>id = $id</p>";
?>
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850