Обзор типов данных PHP
Изучите строки, целые числа, числа с плавающей точкой, логические значения и NULL в PHP.
«Обзор типов данных PHP» — бесплатный урок PHP Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.
Основные типы данных PHP
PHP поддерживает четыре скалярных типа и несколько составных и специальных типов:
- Скалярные: строка, целое число, число с плавающей точкой, логическое значение
- Составные: массив, объект
- Специальные: NULL, ресурс
PHP автоматически выбирает тип в зависимости от контекста — это называется автоматическим преобразованием типов.
Строки
Строки хранят текст. Используйте одинарные или двойные кавычки:
<?php
$single = 'Hello World'; // single — no variable parsing
$name = 'PHP';
$double = "Hello $name"; // double — variables are interpolated
echo $double; // Hello PHP
echo strlen($single); // 11Целые числа и числа с плавающей точкой
Целые числа PHP — это числа без дробной части; числа с плавающей точкой (вещественные числа) хранят десятичные значения:
<?php
$count = 42; // int
$neg = -7; // negative int
$hex = 0x1A; // hexadecimal = 26
$price = 19.99; // float
$sci = 1.5e3; // scientific = 1500.0
echo PHP_INT_MAX; // largest integer on this platform
echo PHP_FLOAT_MAX; // largest floatЛогические значения
Логическое значение — это либо true, либо false. PHP рассматривает многие значения как истинные или ложные:
- Ложные: false, 0, 0.0, '', '0', [], NULL
- Истинные: все остальные
<?php
$isActive = true;
$isDone = false;
if ($isActive) {
echo 'Active'; // runs
}
var_dump((bool) ''); // bool(false)
var_dump((bool) 'hi'); // bool(true)NULL
NULL обозначает намеренное отсутствие значения:
- Переменная имеет значение NULL, если ей присвоено NULL, если ей никогда не присваивали значение или если она была сброшена
- Используйте
is_null($var)или=== null, чтобы проверить значение NULL
<?php
$nothing = null;
var_dump(is_null($nothing)); // bool(true)
var_dump($nothing === null); // bool(true)
var_dump($nothing == false); // bool(true) — loose comparisonМассивы как тип данных
Массивы в PHP могут содержать значения разных типов и использовать целочисленные или строковые ключи:
<?php
$mixed = [42, 'hello', true, null];
$map = ['name' => 'Alice', 'age' => 30];
echo gettype($mixed); // array
echo count($mixed); // 4
echo $map['name']; // AliceФункции проверки типов
PHP предоставляет функции is_* для проверки типов во время выполнения:
<?php
$val = 3.14;
var_dump(is_int($val)); // bool(false)
var_dump(is_float($val)); // bool(true)
var_dump(is_string($val)); // bool(false)
var_dump(is_numeric('42')); // bool(true) — string that looks like a numberОбъявление строгой типизации
PHP 7 и более поздние версии позволяют включить строгий режим типизации в начале файла:
<?php
declare(strict_types=1);
function add(int $a, int $b): int {
return $a + $b;
}
echo add(3, 4); // 7
// add(3, '4'); // TypeError in strict mode!Указания типов в функциях
PHP 7 и более поздние версии поддерживают указания типов для параметров и возвращаемых значений, что повышает ясность кода и помогает обнаруживать ошибки:
<?php
function greet(string $name): string {
return 'Hello, ' . $name . '!';
}
function divide(float $a, float $b): ?float {
if ($b === 0.0) return null; // nullable return
return $a / $b;
}
echo greet('PHP'); // Hello, PHP!
var_dump(divide(10, 0)); // NULLРесурсы
Ресурс — это специальная переменная, содержащая ссылку на внешний ресурс, например дескриптор файла или соединение с базой данных:
<?php
// fopen returns a resource
$handle = fopen('data.txt', 'r');
echo gettype($handle); // resource
fclose($handle); // always free resources when doneОбъединённые типы (PHP 8)
В PHP 8 появились объединённые типы, позволяющие параметру или возвращаемому значению принимать значения нескольких типов:
<?php
declare(strict_types=1);
function format(int|float $number): string {
return number_format($number, 2);
}
echo format(1234); // 1,234.00
echo format(9.5); // 9.50Быстрая проверка
Что возвращает функция is_numeric() PHP для строки '42'?
Итоги: типы данных PHP
Вы изучили систему типов PHP:
- Скалярные типы: строка, целое число, число с плавающей точкой, логическое значение
- NULL для намеренного отсутствия значения
- Массивы и объекты как составные типы
- Ресурсы для внешних дескрипторов
- Объединённые типы PHP 8 для гибких сигнатур
- Строгий режим с помощью
declare(strict_types=1)
Далее: вывод данных в браузер с помощью echo и print.
Часто задаваемые вопросы
Урок «Обзор типов данных PHP» бесплатный?
Да — полный текст урока «Обзор типов данных PHP» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Обзор типов данных PHP»?
Изучите строки, целые числа, числа с плавающей точкой, логические значения и NULL в PHP. Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать PHP Academy?
Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Обзор типов данных PHP»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке PHP Academy?
Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объявление переменных в PHP
- Обзор типов данных PHP
- Вывод с помощью echo и print
- Автоматическое преобразование и приведение типов