Типы данных
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]
<?
// Все числа в десятичной системе имеют значение 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 десятичных цифр:
<?
$a1 = 1.5;
$a2 = 1.3e4; // 1.3 * 10^4
$a3 = 6E-8; // 0.00000006
Тип bool (логический тип)
Переменные логического типа могут принимать два значения: true
и false
или иначе говоря истина
и ложь
. Чаще всего логические значения используются в условных конструкциях:
<?
$foo = true;
$boo = false;
Тип string (строки)
Для работы с текстом можно применять строки. Строки бывают двух типов: в двойных кавычках и одинарных. От типа кавычек зависит обработка строк интерпретатором. Так, переменные в двойных кавычках заменяются значениями, а переменные в одинарных кавычках остаются неизменными:
<?
$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
указывает, переменная не имеет значения. Использование данного значения полезно в тех случаях, когда мы хотим указать, что переменная не имеет значения. Например, если мы просто определим переменную без ее инициализации, и затем попробуем ее использовать, то нам интерпретатор выдаст сообщение, что переменная не установлена:
<?
$a;
echo $a;
Использование значения null
поможет избежать данной ситуации. Кроме того, мы сможем проверять наличие значения и в зависимости от результатов проверки производить те или иные действия:
<?
$a = null;
echo "a = $a";
Константа null не чувствительна к регистру, поэтому мы можем написать и так:
$a = NULL;
Динамическая типизация
Поскольку PHP - язык с динамической типизацией, то мы можем присваивать одной и той же переменной значения разных типов:
<?
$id = 123;
echo "<p>id = $id</p>";
$id = "jhveruuyeru";
echo "<p>id = $id</p>";