0Pricing
PHP Academy · Урок

Обзор типов данных 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 — локальная установка не требуется.

Все уроки этого курса

  1. Объявление переменных в PHP
  2. Обзор типов данных PHP
  3. Вывод с помощью echo и print
  4. Автоматическое преобразование и приведение типов
← Назад к PHP Academy