PHP Учебник

PHP Старт Введение в PHP Установка PHP Синтаксис PHP Комментарии в PHP Переменные PHP PHP Echo / Print Типы данных PHP Строки PHP Числа PHP Математика в PHP Константы PHP Операторы PHP PHP If...Else...Elseif PHP Switch Циклы в PHP Функции PHP Массивы PHP PHP Суперглобальные PHP RegEx

PHP Формы

Обработка форм PHP Валидация форм PHP Обязательные поля Валидация URL/E-mail Полная форма PHP

PHP Продвинутый

PHP Дата и время PHP Include/Require PHP Работа с файлами Открытие/Чтение файлов Создание/Запись файлов PHP Загрузка файлов Файлы cookie PHP Сессии PHP Фильтры PHP Расширенные фильтры PHP Функция Callback PHP JSON PHP Исключения

PHP OOP

Что такое ООП в PHP Классы/Объекты PHP Цепочки методов PHP Конструктор PHP Деструктор PHP Модификаторы доступа Наследование в PHP Константы класса PHP Подсказка типов PHP Подсказка интерфейсов Абстрактные классы PHP PHP Интерфейсы PHP Полиформизм PHP Трейты Статические методы PHP Статические свойства PHP Пространства имен PHP Итерируемые объекты

База данных MySQL

База данных MySQL Подключение к MySQL Создание БД MySQL Создание таблицы MySQL Вставка данных MySQL Получить ID MySQL Подготовленные операторы PHP MySQL Получение данных MySQL Предложение WHERE Предложение ORDER BY Обновление данных MySQL Удаление данных БД MySQL Limit Data

PHP XML

Парсеры PHP XML Парсер PHP SimpleXML Получить PHP SimpleXML PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Введение AJAX PHP AJAX База Данных AJAX XML AJAX Живой поиск AJAX Опрос

PHP Примеры

PHP Примеры Практика ООП PHP PHP квиз-тест Упражнения Базовый PHP Упражнения Алгоритмы Упражнения Массивы Упражнения Цикл for Упражнения Функции Регулярные выражения Упражнения Дата PHP Упражнения Строки PHP Математика PHP Упражнения Формы PHP Упражнения Классы PHP Упражнения JSON PHP PHP Задачник


Типы данных PHP




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

PHP поддерживает восемь различных типов данных. Все они обсуждаются ниже. Первые пять называются простыми типами данных, а последние три — составными типами данных:

  • string (строки)
  • integer (целые числа)
  • double (дробные числа)
  • boolean (логический тип)
  • NULL
  • array (массивы)
  • object (объекты)
  • resource (ресурсы)

String (строка) — это последовательность символов, например «Пример мир!». Строка может состоять из символов любых алфавитов, включая даже числа. При объявлении строки заключаются в двойные кавычки. Строки также можно записывать в одинарных кавычках, но при выводе переменных она будет обрабатываться по-другому: переменные в двойных кавычках заменяются значениями, а переменные в одинарных кавычках остаются неизменными. Чтобы прояснить это, посмотрите на пример ниже:

<?php
$name = "Миша";
echo "Имя компьютерщика $name";
echo 'Имя компьютерщика $name';
?>

Целое — это число из множества 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 может содержать числа, содержащие дробную или десятичную часть, включая положительные и отрицательные числа. По умолчанию переменные добавляют минимальное количество десятичных знаков.

В следующем примере $x - это число с плавающей запятой. Функция PHP var_dump() возвращает тип данных и значение:

<?php 
$x = 20.215;
var_dump($x);
?>

Переменные логического типа могут принимать два значения: 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:

<?php
$x = "Привет мир!";
$x = null;
var_dump($x);
?>

Array (массив) — это составной тип данных, который может хранить несколько значений одного и того же типа данных.

В следующем примере $fruit — это массив:

<?php 
$fruit = array("apple","pear","plum");
var_dump($fruit);
?>

Массив создается с помощью конструкции array(), в которой определяются элементов. Отсчет элементов в массиве начинается с нуля.


Объект — это тип данных, в котором хранятся данные и информация о том, как их обрабатывать.

В 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();
?>

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