Типы данных PHP
PHP является языком с динамической типизацией. Это значит, что тип данных, которые может хранить переменная, выводится во время выполнения, и в отличие от ряда других языков программирования в PHP не требуется указывать тип данных переменной.
PHP поддерживает восемь различных типов данных. Все они обсуждаются ниже. Первые пять называются простыми типами данных, а последние три — составными типами данных:
Тип string (строка)
String (строка) — это последовательность символов, например «Пример мир!». Строка может состоять из символов любых алфавитов, включая даже числа. При объявлении строки заключаются в двойные кавычки. Строки также можно записывать в одинарных кавычках, но при выводе переменных она будет обрабатываться по-другому: переменные в двойных кавычках заменяются значениями, а переменные в одинарных кавычках остаются неизменными. Чтобы прояснить это, посмотрите на пример ниже:
Пример
Целые числа (Integer)
Целые числа содержат только целые числа, включая положительные и отрицательные числа, т.е. числа без дробной части или десятичной точки. Они могут быть десятичными (основание 10), восьмеричными (основание 8) или шестнадцатеричными (основание 16). По умолчанию применяются десятичная система счисления (основание 10). Восьмеричные целые числа могут быть объявлены с начальным префиксом 0, а шестнадцатеричные — с начальным 0x.
Пример
Тип double (числа с плавающей точкой)
Double может содержать числа, содержащие дробную или десятичную часть, включая положительные и отрицательные числа. По умолчанию переменные добавляют минимальное количество десятичных знаков.
Пример
Тип boolean (логический тип)
Переменные логического типа могут принимать два значения: true и false или иначе говоря истина и ложь. Чаще всего логические значения используются в условных конструкциях:
Пример
Специальное значение NULL
Значение NULL указывает, что значение переменной не присвоено.
Использование NULL полезно в тех случаях, когда нужно указать, что переменная не имеет значения. Например, если мы просто создадим переменную без ее инициализации, и затем попробуем ее использовать, то нам интерпретатор выдаст диагностическое сообщение, что переменная не установлена.
Переменные также можно очистить, установив значение NULL :
Пример
Тип array (ассоциативные массивы)
Array (массив) — это составной тип данных, который может хранить несколько значений одного и того же типа данных.
Пример
Object (объект) PHP
Объект — это тип данных, в котором хранятся данные и информация о том, как их обрабатывать.
В PHP объект должен быть объявлен явно.
Классы и объекты — это два основных аспекта объектно-ориентированного программирования.
Класс — это шаблон для объектов, а объект — это экземпляр класса.
При создании отдельных объектов они наследуют все свойства и поведение класса, но каждый объект будет иметь разные значения свойств.
При создании отдельных объектов (Volvo, BMW, Toyota и др.) они наследуют все свойства и поведение класса, но каждый объект будет иметь разные значения свойств.
Пример
Тип resource (ресурсы)
Ресурс представляет специальную переменную, которая содержит ссылку на внешний ресурс. Типичным примером использования внешнего ресурса могут использоваться, например, файлы или подключения к базам данных. Ресурсы создаются и используются специальными функциями. В дальнейших уроках мы подробнее рассмотрим работу с файлами и подключения к базам данных.
Double php тип данных
null (отсутствие значения)
int (целочисленный тип)
Представляет целое число со знаком.
Кроме десятичных целых чисел PHP обладает возможностью использовать также двоичные, восьмеричные и шестнадцатеричные числа. Шаблоны чисел для других систем:
Тип float (числа с плавающей точкой)
Размер числа с плавающей точкой зависит от платформы. Максимально возможное значение, как правило, составляет 1.8*10 308 с точностью около 14 десятичных цифр. Например:
Тип bool (логический тип)
Тип string (строки)
Для работы с текстом можно применять строки. Строки бывают двух типов: в двойных кавычках и одинарных. От типа кавычек зависит обработка строк интерпретатором. Так, переменные в двойных кавычках заменяются значениями, а переменные в одинарных кавычках остаются неизменными.
В этом случае мы получим следующий вывод:
Кроме обычных символов, строка может содержать специальные символы, которые могут быть неправильно интерпретированы. Например, нам надо добавить в строку кавычку:
Данная запись будет ошибочна. Чтобы исправить ошибку, мы можем сочетать различные типы кавычек (‘Модель «Apple II»‘ или «Модель ‘Apple III'») или использовать слеш, чтобы ввести кавычку в строку:
Специальное значение null
Значение null указывает, переменная не имеет значения. Использование данного значения полезно в тех случаях, когда мы хотим указать, что переменная не имеет значения. Например, если мы просто определим переменную без ее инициализации, и затем попробуем ее использовать, то нам интерпретатор выдаст сообщение, что переменная не установлена:
Использование значения null поможет избежать данной ситуации. Кроме того, мы сможем проверять наличие значения и в зависимости от результатов проверки производить те или иные действия:
Константа null не чувствительна к регистру, поэтому мы можем написать и так:
Динамическая типизация
Переменные и типы данных в PHP
Объявление переменной
Типы данных
В отличии от большинства других языков программирования, язык РНР является слаботипизированным, что в свою очередь позволяет не требовать строгого задания типа при их объявлении. В ходе выполнения программы тип переменной может быть изменен неявным образом без специальных преобразований, что позволяет разработчику практически не задумываться о типах данных.
Опишем основные типы данных, которые поддерживаются РНР:
Boolean. Логический тип, способный принимать лишь два значения: True (истина) и False (ложь).
String. Строковый тип. Может хранить строку, максимальный размер которой составляет 2 Гбайт.
Array. Массив. Это объединение нескольких переменных под одним именем, обращаться к отдельным переменным которых можно при помощи индекса массива.
Object. Объект. Это конструкция, объединяющая несколько разнотипных переменных и методы их обработки.
Resource. Дескриптор, позволяющий оперировать тем или иным ресурсом, доступ к которому осуществляется при помощи библиотечных функций. Дескрипторы применяются при работе с файлами, базами данных, динамическими изображениями и т.д.
Null. Специальный тип, который сигнализирует о том, что переменная не была инициализирована.
Callable|Callback. Некоторые функции РНР могут принимать в качестве аргументов другие функции, которые называются функциями обратного вызова. Переменные данного типа содержат ссылки на такие функции.
Целые числа
Поскольку большинство прикладных задач носит исключительно арифметический характер, наиболее распространенными в программировании являются целые числа. Кроме того, данный тип данных наиболее быстродействующий.
Объявление целочисленных переменных может осуществляться несколькими способами:
Положительное целое число объявляется без указания перед ним знака плюс. Для объявления отрицательного числа необходимо перед ним указать символ минуса. По умолчанию числа задаются в десятичной системе счисления, однако в РНР можно объявлять переменные в восьмеричной и шестнадцатеричной системах счисления. Более подробно о целых числах и системах счисления можно узнать из статьи Целые числа (Integer)
Вещественные числа
Вещественные числа (Float или Double) имеют очень большой интервал, выйти за который практически нереально. Существуют две формы записи вещественного числа: стандартная и экспоненциальная.
При выводе под число с плавающей точкой отводится 12 символов, это значение может быть изменено при помощи директивы Precision в конфиrурационном файле php.ini.
Объявление вещественных чисел:
Более подробно о вещественных числах можно узнать из статьи Числа с плавающей точкой (Float)
Логический тип
Строки
Кавычки
Строки и строковые переменные создаются путем заключения той или иной фразы в кавычки. В РНР имеется возможность применять несколько типов кавычек, каждый вид которых имеет собственные особенности.
Двойные кавычки («. «) позволяют вместо переменных РНР подставлять их значения. Такая подстановка называется интерполяцией.
Одиночные кавычки (‘. ‘) не позволяют подставлять значение переменных.
Применение обратного слеша с рядом другими символами интерпретируется особым образом. Наиболее часто используются символы перевода строки (\n), возврат каретки (\r), символ табуляции (\t), обратный слеш (\\), двойная (\») и одинарная кавычка (\’). Размещение переменных и специальных символов (за исключением \’) в одиночных кавычках не приводит к их специальной интерпретации.
Хорошим тоном является указание границ переменной внутри строки обрамлением фигурными скобками (<. >):
PHP Типы данных
PHP Типы данных
Переменные могут хранить данные разных типов, а разные типы данных могут делать разные вещи.
PHP поддерживает следующие типы данных:
Строка может быть любым текстом внутри кавычек. Вы можете использовать одинарные или двойные кавычки:
Пример
Правила для целых чисел:
Пример
Пример
Примечание. Обратите внимание, что в программировании на языке PHP числа с запятой пишутся как числа с точкой.
Логическое значение (boolean) представляет два возможных состояния: TRUE или FALSE (ИСТИНА или ЛОЖЬ).
Логические значения часто используются в условных тестах. Подробнее об условном тестировании вы узнаете в следующей главе этого учебника.
Массив (array) хранит несколько значений в одной переменной.
Пример
Вы узнаете намного больше о массивах в последующих главах этого учебника.
При создании отдельных объектов они наследуют все свойства и поведение класса, но каждый объект будет иметь разные значения свойств.
При создании отдельных объектов (Volvo, BMW, Toyota и т.д.) они наследуют все свойства и поведение класса, но каждый объект будет иметь разные значения свойств.
Если вы создаете функцию __construct(), PHP будет автоматически вызывать эту функцию, когда вы создаете объект из класса.
Пример
Совет: Если переменная создается без значения, ей автоматически присваивается значение NULL.
Переменные также могут быть очищены путем установки значения в NULL:
Пример
Специальный тип resource не является фактическим типом данных. Это хранение ссылки на функции и ресурсы, внешние по отношению к PHP.
Типичным примером использования типа данных resource является вызов базы данных.
Мы не будем говорить о типе resource здесь, так как это сложная тема.
Типы данных в PHP
Строка текста, целое число или число с дробной частью – всё это разные типы данных.
Раличные типы данных занимают различный объём памяти и обработка разных типов выполняется по разному. Поэтому некоторые языки программирования требуют от программиста, чтобы он заранее объявил, для какого типа данных предназначена та или иная переменная.
PHP не имеет таких строгих требований по типам данных, то есть он будет обрабатывать переменную в зависимости от того, какого типа значение в неё записано. Такой подход имеет как достоинства, так и недостатки. С одной стороны, программист может использовать переменные гибко, храня в них данные, необходимые в настоящий момент. Но, с другой стороны, такая свобода действия может привести к появлению ошибок, которые трудно обнаружить, особенно в больших программах, когда в переменной записано совсем не то, что ожидает найти там программист.
В таблице перечисленны типы данных, поддерживаемые PHP.
Как узнать тип данных в PHP
В следующем примере показано, как с помощью функции gettype() проверяется тип одной и той же переменной, которой всякий раз присваивают новое значение.
Ксати, узнать тип переменной можно также при помощи var_dump, она используется чаще при написании реальных проектов, а именно для поиска ошибок, так как предоставляет больше данных о массивах и объектах. Но на этапе изучения программирования чтобы освоить типы данных в PHP функция gettype() вполне подойдёт.
Немного подробнее про типы данных в PHP
Тип integer
Тип double
Размер числа с плавающей точкой double зависит от платформы, на которой работает PHP. Максимально возможное значение, как правило, составляет
1.8e308 с точностью около 14 десятичных цифр. Но, опять же, на моей практике такие точные вычесления не производятся.
Тип string (строки)
Давайте рассмотрим пример, как работают с переменными строки в разных кавычках:
Строка обрамлённая двойными кавычками может содержать в себе двойные кавычки, которые нужно вывести в браузер. В этом случае перед ними ставят символ » \ «. Например:
На самом деле, работа со строками в PHP – отдельная большая тема.
Тип boolean
В этом примере я использовал функцию var_dump, о которой упоминал ранее. Также функции gettype я передал не переменную, а выражение, так можно делать.
Логические выражения, что есть истина и ложь в PHP – самом деле тема отдальной статьи. Если вы хотите освоить программирование на PHP, то вы обязательно должны хорошо знать этот тип данных.
Тип NULL
Тип NULL указывает, что переменная не инициализирована. Давайте попробуем вывести на экран тип переменной, которой не было присвоено значение.
Остальные типы данных в PHP
Остальные типы данных: массивы в PHP, объекты в PHP и ресурсы требуют отдельного углублённого изучения.