PHP без БД и MySQL

Переменные:

Массивы:

Функции:

Передача переменных

Глобальный массив

Инструкция INCLUDE

Определение типов данных

Тип данных - это ограничение, устанавливаемое на определенном столбце с целью указать, значения какого типа разрешено в нем сохранять.

MySQL поддерживает три категории типов данных, что иллюстрирует приведенный ниже синтаксис.

<тип>::= <числовой_тип_данных>
| <строковый_тип_данных>
I <тип_данных даты/времени>

Всякий раз когда в таблицу добавляется столбец, для него обязательно должен определяться тип данных, принадлежащий одной из этих трех категорий.

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


Типы данных int и varchar являются двумя наиболее часто используемыми (и с большим отрывом) типами данных в MySQL. Обозначение int представляет собой сокращение от «integer», то есть «целое число». Числа с таким тип могут принимать значения от -2,1 до +2,1 миллиарда. Указывать длину определении поля такого типа не обязательно.

Тип varchar получил название как сокращение от «variable» и «character». Поле такого типа может сохранять различное количество символов - их количество определяется с помощью поля Длина. Однако количество симлов имеет ограничение по максимуму - это поле не может сохранять более чем 255 символов.


Числовые типы данных

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

Числовые типы данных можно разделить на две категории, что иллюстрируется следующим синтаксисом.
<числовой_тип_данных>::=
<целочисленный_тип_данных> [(<длина>)] [UNSIGNED] [ZEROFILL]
I <дробный_тип_данных> [(<длина>, <десятичные_разряды>) ] [UNSIGNED] [ZEROFILL]

Каждая из двух категорий целочисленных типов поддерживает несколько опций. Первая из этих опций представлена указателем места заполнения <длина> и обозначает максимальное число отображаемых в данном столбце символов. В качестве длины может быть указано любое значение от 1 до 255.

Дробные типы данных еще включают и указатель места заполнения <десятичные_разряды>. Это значение обозначает количество десятичных разрядов, которое должно отображаться для значения в столбце. В качестве количества десятичных разрядов может быть указано любое число от 0 до 30; однако значение <десятичные_разряды> всегда должно быть, по крайней мере, на 2 меньше значения <длина>.

Следующей из доступных для числовых типов опцией является опция UNSIGNED. Когда после числового типа указывается эта опция, это означает, что отрицательные значения не могут сохраняться в данном столбце. Когда указывается опция ZEROFILL, в начале вводимого в столбец значения будут добавляться нули, если количество символов в этом значении не соответствует числу, введенному на месте указателя места за-

Строковые типы данных

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

MySQL поддерживает четыре категории строковых типов данных, что иллюстрирует следующий синтаксис.

<строковый_тип_данных>::=
< символьный_тип_данных>
I <двоичный_тип_данных>
| <текстовый_тип_данных>
| <списковый_тип_данных>
Символьными типами пользуемся чаще всего. Как показывает приводимый ниже синтаксис, существует два символьных типа:
<символьный_тип_данных>::=
CHAR (<длина>) [BINARY | ASCII I UNICODE]
VARCHAR () [BINARY]

Тип CHAR - это символьный тип фиксированной длины, который может хранить до 255 символов. Значение <длина> определяет то, какое количество символов должно сохраняться. Хотя фактическое значение может состоять и из меньшего, нежели указано, количества символов, объем выделяемой памяти является фиксированным, и поэтому будет соответствовать объему, подразумеваемому для указанного количества символов.

Тип CHAR удобно применять в тех случаях, когда известно то, какое количество знаков будет содержать большинство сохраняемых в данном столбце значений, а также то, что эти значения будут содержать не только цифры, но и буквы. Если вы не знаете, какое количество знаков будет содержать каждое значение, лучше используйте тип VARCHAR.

Тип VARCHAR также позволяет задавать максимальную длину; однако в этом случае объем выделяемой памяти уже будет зависеть не от значения <длина>, а от фактического количества символов.

Тип VARCHAR, подобно типу CHAR, может хранить до 255 символов. Повышенная степень гибкости, предоставляемая VARCHAR по сравнению с CHAR, сопровождается определенными издержками в плане производительности.

Столбцы CHAR обрабатываются быстрее, чем столбцы VARCHAR, однако столбцы CHAR могут неэффективно использовать пространство памяти.

Типы данных даты и времени

Последней категорией типов данных является категория типов даты и времени, которые иллюстрирует показанный ниже синтаксис.

<тип_данных_даты/времени>::=
DATE | TIME | DATETIME | YEAR | TIMESTAMP

Типы даты и времени позволяют определять столбцы, которые будут содержать только данные, касающиеся дат и времени.


РНР поддерживает следующие базовые типы данных.
  • Integer (целый) - используется для представления целых чисел.
  • Float, также называемый double (двойной точности) - используется для представления действительных чисел.
  • String (строковый) - используется для представления строк символов.
  • Boolean (булевский) - используется для хранения значений true (истина) и false (ложь).
  • Array (массив) - используется для хранения нескольких элементов данных.
  • Object (объект) - используется для хранения экземпляров классов.
  • Доступны также и два специальных типа - NULL и resource (ресурс).
  • Переменные, которым не присвоены конкретные значения, которые не определены или принимают значение NULL, относятся к типу NULL. Некоторые встроенные функции (такие как функции работы с базами данных) возвращают переменные ресурсного типа. Такие переменные представляют внешние ресурсы (например, соединения с базами данных). Можно с достаточной уверенностью утверждать, что напрямую манипулировать переменными ресурсного типа вам не придется, тем не менее, они часто возвращаются одними функциями и передаются в качестве параметров в другие функции.