Время чтения ~ 1 мин. / 54 просмотра / 0 комментариев / Январь 04, 2024, 15:08

В этом руководстве вы узнаете о типах данных PHP, такие как скалярные, составные и специальные типы.

Введение в типы данных PHP

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

PHP имеет десять примитивных типов, включая четыре скалярных типа, четыре составных типа и два специальных типа:

Типы данных PHP

Скалярные типы:

  • логическое значение (bool)
  • целое число (int)
  • число с плавающей точкой (float)
  • строка (string)

Составные типы:

  • массив (array)
  • объект (object)
  • функция (callable)
  • итерируемый (iterable)

Специальные типы:

  • ресурс (resource)
  • без значения (null)

Скалярные типы

Переменная является скалярной, если она содержит единственное значение целого типа, числа с плавающей точкой, строки или логического значения.

Целое число (Integer)

Integer — это целые числа, определенные в наборе {…-3,-2-,-1,0,1,2,3…}. Размер целого числа зависит от платформы, на которой работает PHP.

Константа PHP_INT_SIZE определяет размер целого числа на конкретной платформе. PHP использует ключевое слово int для обозначения целочисленного типа.

Следующий пример иллюстрирует некоторые целые числа:

<?php

$count = 0;
$max = 1000;
$page_size = 10;

Числа с плавающей точкой (Float)

Float — это число с плавающей точкой или число с плавающей запятой, которое также известно как float, double или real.

PHP использует стандарт IEEE 754 для представления чисел с плавающей точкой. Как и другие языки программирования, числа с плавающей точкой имеют ограниченную точность.

PHP использует ключевое слово float для представления чисел с плавающей точкой. Следующий пример иллюстрирует числа с плавающей точкой в PHP:

<?php

$price = 10.25;
$tax = 0.08;

Логический тип (Boolean)

Логическое значение представляет значение истинности, которое может быть либо истинным, либо ложным. PHP использует ключевое слово bool для обозначения логического типа.

Тип bool имеет два значения true и false. Поскольку ключевые слова нечувствительны к регистру, вы можете использовать true, True, TRUE, false и False для обозначения логических значений.

В следующем примере показано, как присвоить переменным логические значения:

<?php

$is_admin = true;
$is_user_logged_in = false;

Когда вы используете значения других типов в логическом контексте, например операторы if-else и switch-case, PHP преобразует их в логические значения.

PHP считает следующие значения ложными:

  • Ключевое слово false.
  • Целое число 0 и -0 (ноль).
  • Плавающие значения 0.0 и -0.0 (ноль).
  • Пустая строка ("", '') и строка "0".
  • Пустой массив (array() или []).
  • null.
  • Объекты SimpleXML, созданные из пустых элементов без атрибутов.

Значения, которые не являются одними из приведенных выше ложных значений, являются истинными true.

Строки (String)

Строка представляет собой последовательность символов, заключенную в одинарные (') или двойные кавычки ("). Например:

<?php

$str = 'Скалярный тип PHP';
$message = "Типы данных PHP";

Составные или сложные типы

Составные данные включают значения, которые содержат более одного значения. PHP имеет два составных типа, такие как массив и объект.

Массив (Array)

Массив — это упорядоченная карта, которая связывает ключи со значениями. Например, вы можете определить список товаров в корзине следующим образом:

<?php

$carts = [ 'ноутбук', 'мышь', 'клавиатура' ];

Массив $carts содержит три строковых значения. Он сопоставляет индексы 0, 1 и 2 со значениями 'ноутбук', 'мышь' и 'клавиатура'. $carts называется индексированным массивом, поскольку в качестве ключей он использует числовые индексы.

Чтобы получить доступ к значению в массиве, используйте квадратные скобки:

<?php

echo $carts[0]; // 'ноутбук'
echo $carts[1]; // 'мышь'
echo $carts[2]; // 'клавиатура'

Помимо числовых индексов, в качестве ключей для элементов массива можно использовать строки. Эти массивы известны как ассоциативные массивы. Например:

<?php

$prices = [
   'laptop' => 1000,
   'mouse' => 50,
   'keyboard' => 120
];

Чтобы получить доступ к элементу ассоциативного массива, указывайте ключ в квадратных скобках. Например:

<?php

echo $prices['laptop']; // 1000
echo $prices['mouse']; // 50
echo $prices['keyboard']; // 120

Объект (Object)

Объект — это экземпляр класса. Это центральная концепция объектно-ориентированного программирования.

Объект имеет свойства. Например, объект person может иметь свойства имени, фамилии и возраста.

Объект также имеет поведение, известное как методы. Например, объект person может иметь метод getFullName(), который возвращает полное имя.

Чтобы узнать больше об объектах, ознакомьтесь с уроком по объектам.

Специальные типы

PHP имеет два специальных типа: null и resource.

Без значения (Null)

Тип null имеет одно значение, называемое null, которое представляет переменную без значения.

Ресурс (Resource)

Тип ресурс содержит ссылку на внешний ресурс, например: дескриптор файла или соединение с базой данных.

Подытожим

  • PHP имеет четыре скалярных типа, четыре составных типа и два специальных типа.
  • Скалярные типы: целое число, число с плавающей точкой, строка и логическое значение.
  • Составные типы: массив и объект.
  • Специальные типы: null и ресурс.
Теги:
php
var_dump - PHP
Логический тип (Boolean) - PHP
Конструкция if elseif - PHP
Январь 13, 2024, 18:40
В этом уроке вы узнаете о конструкции if elseif в PHP, которая позволяет выполнять блоки кода в зависимости от нескольких логических выражений.
Операторы - PHP
Январь 09, 2024, 14:28
В этом уроке вы узнаете об операторах в PHP и о том, как эффективно использовать их в своих скриптах.
Что такое PHP
Декабрь 26, 2023, 14:22
В этом уроке вы узнаете о PHP, о том, как он работает, на что он способен, и о его преимуществах.
Цикл for - PHP
Март 04, 2024, 17:51
В этом уроке вы узнаете об операторе for в PHP для многократного выполнения блока кода.
Тернарный оператор - PHP
Январь 14, 2024, 17:39
В этом уроке вы узнаете, как использовать тернарный оператор в PHP для сокращения кода и улучшения его читаемости.