Тип данных — фундаментальное понятие теории программирования, определяющее множество значений и набор операций, которые можно применять к таким значениям, и, возможно, способ реализации хранения значений и выполнения операций. Любые данные, которыми оперируют программы, относятся к определённым типам.
Необходимость использования типов данных появилась в языках программирования высокого уровня как естественное отражение того факта, что обрабатываемые программой данные могут иметь различные множества допустимых значений, храниться в памяти компьютера различным образом, занимать различные объёмы памяти и обрабатываться с помощью различных команд процессора.
Все переменные хранят данные определенных типов. PHP автоматически выбирает тип переменной, соответствующий присвоенному значению. К таким типам данных относятся строки, числа и более сложные типы, такие как массивы и объекты. Последние два типа будут рассмотрены подробно позднее в других главах. А пока главное, что вы должны понять - если у вас нет особого повода позаботиться о типе переменной, PHP автоматически выполнит все необходимое, так что не беспокойтесь об этом.
В ситуациях, когда требуется конкретный тип данных, например при выполнении операции математического деления, PHP автоматически выполнит преобразование типов данных. Так, если у вас имеется строка из одного символа "2", она будет преобразована в целое число 2. Такие преобразования - практически всегда именно то, что вам и требовалось от PHP, и он делает это незаметно для вас.
PHP поддерживает следующие типы данных:
Четыре простых типа:
Два смешанных типа: array (массив) и object (обьект). Они будут рассмотрены позже, в следующих главах.
И, наконец, два специальных типа:
Для удобства понимания в этом руководстве используется также несколько псевдотипов.
Вы также можете найти несколько упоминаний типа двойной точности (double). Рассматривайте его как число с плавающей точкой, два имени существуют только по историческим причинам.
Как уже было упомянуто, программисту не нужно самому устанавливать тип переменной (хотя и можно сделать явное приведение типа самому, когда без этого нельзя обойтись), обычно за него это делает интерпретатор PHP во время выполнения программы, выбирая тип переменной в зависимости от контекста, в котором она используется.
Примечание: если вы хотите проверить тип и значение определённого выражения или переменной, используйте для этого функцию var_dump().
Тип переменной можно узнать при помощи функции gettype($variable), которая возвращает имя типа в строковом представлении.
Примеры:
<?php $x_bool = true; // логический типPHP является слабо типизированным языком. Это означает, что нет необходимости объявлять тип данных, который должна хранить переменная. Так, в пределах одной и той же области видимости переменная $num может содержать как значение 2, так и строку 'два'.
Но это не означает, что в PHP нет понятия типа. Каждое значение, которое можно присвоить переменной, имеет свой тип. Вы можете определить тип значения переменной с помощью одной из встроенных функций проверки типов языка PHP. В таблице представленной ниже перечислины функции для проверки элементарных типов данных. Каждой функции передается переменная или значение, она возвращает значение true (истина), если аргумент относится к соответствующему типу и false в противном случае.
Имя функции | Тип | Описание |
---|---|---|
is_bool() | Boolean | Одно из двух значений: true или false |
is_integer() | Integer | Целое число |
is_double() | float/double/real | Вещественное число |
is_string() | String | Символьные данные - строка |
is_object() | Object | Объект |
is_array() | Array | Массив |
is_resource() | Resource | Дескриптор, используемый для идентификации работы с внешними ресурсами, такими как базы данных или файлы |
is_null() | Null | Неинициализированное значение |
Проверка типа переменной или значения особенно важна, когда вы будете работать с аргументами в методе или функции (о них вы узнаете позднее).