Типы данных PHP
PHP является языком с динамической типизацией. Это значит, что тип данных, которые может хранить переменная, выводится во время выполнения, и в отличие от ряда других языков программирования в PHP не требуется указывать тип данных переменной.
PHP поддерживает восемь различных типов данных. Все они обсуждаются ниже. Первые пять называются простыми типами данных, а последние три — составными типами данных:
- string (строки)
- integer (целые числа)
- double (дробные числа)
- boolean (логический тип)
- NULL
- array (массивы)
- object (объекты)
- resource (ресурсы)
Тип string (строка)
String (строка) — это последовательность символов, например «Пример мир!». Строка может состоять из символов любых алфавитов, включая даже числа. При объявлении строки заключаются в двойные кавычки. Строки также можно записывать в одинарных кавычках, но при выводе переменных она будет обрабатываться по-другому: переменные в двойных кавычках заменяются значениями, а переменные в одинарных кавычках остаются неизменными. Чтобы прояснить это, посмотрите на пример ниже:
Пример
Попробуй сам »<?php
$name = "Миша";
echo "Имя компьютерщика $name";
echo 'Имя компьютерщика $name';
?>
Целые числа (Integer)
Целое — это число из множества Z = {..., -2, -1, 0, 1, 2, ...}, обычно длиной 32 бита (от –2 147 483 648 до 2 147 483 647).
Целые числа содержат только целые числа, включая положительные и отрицательные числа, т.е. числа без дробной части или десятичной точки. Они могут быть десятичными (основание 10), восьмеричными (основание 8) или шестнадцатеричными (основание 16). По умолчанию применяются десятичная система счисления (основание 10). Восьмеричные целые числа могут быть объявлены с начальным префиксом 0, а шестнадцатеричные — с начальным 0x.
В следующем примере $x - целое число. Функция PHP var_dump()
возвращает тип данных и значение:
Пример
Попробуй сам »<?php
$x = 2021;
var_dump($x);
?>
Тип double (числа с плавающей точкой)
Double может содержать числа, содержащие дробную или десятичную часть, включая положительные и отрицательные числа. По умолчанию переменные добавляют минимальное количество десятичных знаков.
В следующем примере $x - это число с плавающей запятой. Функция PHP var_dump()
возвращает тип данных и значение:
Пример
Попробуй сам »<?php
$x = 20.215;
var_dump($x);
?>
Тип boolean (логический тип)
Переменные логического типа могут принимать два значения: true
и false
или иначе говоря истина и ложь. Чаще всего логические значения используются в условных конструкциях:
Пример
Попробуй сам »<?php
$foo = true;
$a=10;
$b=5;
echo "foo = true";
if($foo)
echo $a+$b;
else
echo $a-$b;
$foo = false;
echo "foo = false";
if($foo)
echo $a+$b;
else
echo $a-$b;
?>
Выражение if()
проверяет истинно ли выражение в скобках. В примере проверяется значение переменной $foo
. Если выражение истинно true
, то выполняется выражение следующее за оператором if
. Если же выражение (переменная $foo
) в операторе if()
равно false
, то выполняется выражение после оператора else
.
Специальное значение NULL
Значение NULL
указывает, что значение переменной не присвоено.
Использование NULL
полезно в тех случаях, когда нужно указать, что переменная не имеет значения. Например, если мы просто создадим переменную без ее инициализации, и затем попробуем ее использовать, то нам интерпретатор выдаст диагностическое сообщение, что переменная не установлена.
Переменные также можно очистить, установив значение NULL
:
Пример
Попробуй сам »<?php
$x = "Привет мир!";
$x = null;
var_dump($x);
?>
Тип array (ассоциативные массивы)
Array (массив) — это составной тип данных, который может хранить несколько значений одного и того же типа данных.
В следующем примере $fruit — это массив:
Пример
Попробуй сам »<?php
$fruit = array("apple","pear","plum");
var_dump($fruit);
?>
Массив создается с помощью конструкции array()
, в которой определяются элементов. Отсчет элементов в массиве начинается с нуля.
Object (объект) PHP
Объект — это тип данных, в котором хранятся данные и информация о том, как их обрабатывать.
В PHP объект должен быть объявлен явно.
Сначала мы должны объявить класс объекта. Для этого мы используем ключевое слово class
. Класс — это структура, которая может содержать свойства и методы.
Классы и объекты — это два основных аспекта объектно-ориентированного программирования.
Класс — это шаблон для объектов, а объект — это экземпляр класса.
При создании отдельных объектов они наследуют все свойства и поведение класса, но каждый объект будет иметь разные значения свойств.
Предположим, у нас есть класс с именем Auto
. Автомобиль может иметь такие свойства, как модель, цвет и т.д. Для хранения значений этих свойств мы можем определять такие переменные, как $model
, $color
и т.д.
При создании отдельных объектов (Volvo, BMW, Toyota и др.) они наследуют все свойства и поведение класса, но каждый объект будет иметь разные значения свойств.
Если вы создаете функцию __construct()
, PHP будет автоматически вызывать эту функцию, когда вы создаете объект из класса:
Пример
Попробуй сам »<?php
class Auto {
public $color;
public $model;
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}
public function message() {
return "Мой автомобиль " . $this->color . " " . $this->model . "!";
}
}
$myAuto = new Auto("синий", "Volvo");
echo $myAuto -> message();
echo "<br>";
$myAuto = new Auto("красный", "Toyota");
echo $myAuto -> message();
?>
Тип resource (ресурсы)
Ресурс представляет специальную переменную, которая содержит ссылку на внешний ресурс. Типичным примером использования внешнего ресурса могут использоваться, например, файлы или подключения к базам данных. Ресурсы создаются и используются специальными функциями. В дальнейших уроках мы подробнее рассмотрим работу с файлами и подключения к базам данных.