Типы данных PHP

Вы уже познакомились с типами данных в JavaScript, в PHP есть множество похожих типов.
Сейчас Вы познакомитесь с основными типами данных в PHP:
  • Логический "boolean"
  • Целые числа "integer"
  • Числа с плавающей точкой "float"
  • Строки "string"
  • Массивы "array"
  • Объекты "object"
  • Пустой "null"


Логический "boolean"

Также как и в JavaScript, этот тип данных может быть двух видов: true(Истина) или false(Ложь).
Значение false может быть следующими:
  • Сам булев false
  • Целое 0 (ноль)
  • Число с плавающей точкой 0.0 (ноль)
  • Пустая строка и строка "0"
  • Массив с нулевыми элементами
  • Объект с нулевыми переменными-членами
  • Специальный тип NULL (включая неустановленные переменные)

Все остальные значения, включая "-1"(т.к. не является нулевым), считаются true.

Целые числа "integer"

Это целое число из интервалов от –2 147 483 648 до 2 147 483 647 (32 бита). Если число выходит из данных интервалов, оно будет считаться числом с плавающей точкой "float".
Преобразовать значение в тип целое "integer" можно с помощью функции:
intval() - получает целочисленное значение переменной. intval() нельзя использовать с array или object.

Числа с плавающей точкой "float"

Числа с плавающей точкой (они же числа двойной точности или действительные числа) могут быть определены при помощи любого из следующих синтаксисов:
<?
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>


Строки "string"

Строки, также как и в JavaScript, могут быть определены символами одинарных или двойных кавычек. Также, в PHP строки могут быть определены специальными heredoc - символами
В строке могут содержаться любые символы, цифры, буквы.
<?
$str1 = 'Строка с одинарными кавычками';
$str2 = "Строка с двойными кавычками";
$str3 =  <<<EOT
Строка со специальным 
heredoc символом
на несколько строк
EOT;
?>


Массивы "array"

Массивы бывают простыми и ассоциативными. А также одномерными и многомерными. Приведем примеры различных типов массивов.
Одномерный простой массив
<?
// Идентичные записи одномерного простого массива
$arr = array("Игорь", "Дима", "Миша");
$arr2 = ["Игорь", "Дима", "Миша"];
$arr3[0] = "Игорь";
$arr3[1] = "Дима";
$arr3[2] = "Миша";
?>

Многомерный простой массив
<?
// Идентичные записи многомерного простого массива
$arr = array(array("Игорь", "Дима", "Миша"), array("Максим", "Слава", "Андрей"));
$arr2 = [["Игорь", "Дима", "Миша"], ["Максим", "Слава", "Андрей"]];
$arr3[0][0] = "Игорь";
$arr3[0][1] = "Дима";
$arr3[0][2] = "Миша";
$arr3[1][0] = "Максим";
$arr3[1][1] = "Слава";
$arr3[1][2] = "Андрей";
?>

Одномерный ассоциативный массив
<?
// Идентичные записи одномерного ассоциативного массива
$arr = array("Имя" => "Игорь", "Фамилия" => "Данилов", "Отчество" => "Михайлович");
$arr2 = ["Имя" => "Игорь", "Фамилия" => "Данилов", "Отчество" => "Михайлович"];
$arr3["Имя"] = "Игорь";
$arr3["Фамилия"] = "Данилов";
$arr3["Отчество"] = "Михайлович";
?>

Многомерный ассоциативный массив
<?
// Идентичные записи многомерного ассоциативного массива
$arr = array(array("Имя" => "Игорь", "Фамилия" => "Данилов", "Отчество" => "Михайлович"), array("Имя" => "Максим", "Фамилия" => "Иванов", "Отчество" => "Дмитриевич"));
$arr2 = [["Имя" => "Игорь", "Фамилия" => "Данилов", "Отчество" => "Михайлович"], ["Имя" => "Максим", "Фамилия" => "Иванов", "Отчество" => "Дмитриевич"]];
$arr3[0]["Имя"] = "Игорь";
$arr3[0]["Фамилия"] = "Данилов";
$arr3[0]["Отчество"] = "Михайлович";
$arr3[1]["Имя"] = "Максим";
$arr3[1]["Фамилия"] = "Иванов";
$arr3[1]["Отчество"] = "Дмитриевич";
?>

Массивы могут быть бесконечно вложены друг в друга, только голову не сломайте ;)

Объекты "object"

Тип данных "Объекты" используется в ООП(Объектно-ориентированном программировании). Данный тип данных сложно понять на начальном этапе изучения языка PHP, поэтому просто прочитайте, и примите к сведению что тип данных "объекты" есть в природе.
Объект представляет собой переменную, экземпляр которой создается по специальному шаблону, называемому классом.
Объект - это совокупность данных (свойств) и функций (методов) для их обработки. Данные и методы называются членами класса. Вообще, объектом является все то, что поддерживает инкапсуляцию(упаковка данных в единый компонент).
Для инициализации объекта используется выражение new, создающее в переменной экземпляр объекта.
<?
class users {
     function getUsers() {
         echo "Дима"; 
     }
}

$str = new users; // Наш объект класса
$str->getUsers(); // Выведет "Дима"
?>

На этом уроке разбирать тип данных "объект" остановимся, и перейдем к другим типам.

Пустой "null"

Один из самых простых типов данных это NULL.
NULL означает, что переменная не имеет значения.
3 возможных события, когда переменная имеет тип данных NULL:
  • Ей было присвоено значение NULL
  • Она удалена с помощью функции unset()
  • Переменной не присвоено никакого значения

Все! Теперь Вы кратко знакомы с основными типами данных, не старайтесь их зазубрить, все придет с практикой.