<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

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

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Типы данных в PHP: int, float, string, bool, array, null и object простыми словами

Типы данных в PHP: int, float, string, bool, array, null и object простыми словами

Типы данных в PHP определяют, какие значения может хранить переменная и какие операции с ними безопасно выполнять. PHP считается динамически типизированным языком: переменная не объявляется заранее как int или string, а получает тип в момент присваивания значения.

Эта статья отвечает на популярный запрос «типы данных в PHP» и поможет новичкам понять, почему строка '10' иногда ведёт себя как число, чем null отличается от пустой строки и как правильно проверять типы в PHP 8+.

Основные типы данных в PHP

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

  • int — целые числа;
  • float — числа с плавающей точкой;
  • string — строки;
  • bool — логический тип true или false;
  • array — массивы;
  • null — отсутствие значения;
  • object — объекты классов.
<?php
$age = 25;                 // int
$price = 199.99;           // float
$name = 'Анна';            // string
$isActive = true;          // bool
$roles = ['admin', 'user']; // array
$deletedAt = null;         // null

Как узнать тип переменной

Для отладки удобно использовать get_debug_type(). Она появилась в PHP 8 и возвращает более понятные названия типов, чем старый gettype().

<?php
$value = '123';

echo get_debug_type($value); // string

$value = 123;
echo get_debug_type($value); // int

Для проверок в коде используйте специальные функции:

<?php
$value = 42;

var_dump(is_int($value));    // true
var_dump(is_string($value)); // false
var_dump(is_numeric($value)); // true

Совет: не стройте бизнес-логику на сравнении результата gettype() со строкой. Для этого лучше подходят is_int(), is_array(), is_null() и похожие функции.

int и float: числа в PHP

int используется для целых чисел: количество товаров, возраст, идентификатор пользователя. float — для дробных значений: цена, рейтинг, процент.

<?php
$count = 3;
$price = 1499.50;
$total = $count * $price;

echo $total; // 4498.5

Важно помнить: float не всегда идеально точен из-за особенностей хранения дробных чисел в компьютере.

<?php
$result = 0.1 + 0.2;
var_dump($result); // float(0.30000000000000004) в некоторых случаях

Для денежных расчётов часто используют целые числа в копейках/центах или специальные библиотеки. Например, 199 рублей 50 копеек можно хранить как 19950.

string: строки и числа в строках

Строки в PHP можно записывать в одинарных или двойных кавычках. В двойных кавычках переменные подставляются автоматически.

<?php
$name = 'Иван';

echo 'Привет, $name'; // Привет, $name
echo "Привет, $name"; // Привет, Иван

Частая ситуация: данные из формы приходят строками, даже если пользователь ввёл число.

<?php
$ageFromForm = '18';

var_dump(is_string($ageFromForm));  // true
var_dump(is_numeric($ageFromForm)); // true

Если вам нужно именно число, преобразуйте значение явно:

<?php
$age = (int) '18';
$price = (float) '99.90';

var_dump($age);   // int(18)
var_dump($price); // float(99.9)

bool: логические значения

Тип bool принимает только два значения: true или false. Он часто используется в условиях.

<?php
$isAdmin = false;

if ($isAdmin) {
    echo 'Доступ разрешён';
} else {
    echo 'Недостаточно прав';
}

При неявном преобразовании к bool PHP считает ложными значения false, 0, 0.0, пустую строку '', строку '0', пустой массив и null.

<?php
var_dump((bool) '');  // false
var_dump((bool) '0'); // false
var_dump((bool) '1'); // true
var_dump((bool) []);  // false

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

array: массивы в PHP

Массив в PHP может быть списком или ассоциативной структурой «ключ — значение».

<?php
$numbers = [10, 20, 30];

$user = [
    'id' => 7,
    'name' => 'Мария',
    'email' => 'maria@example.com',
];

echo $numbers[0];      // 10
echo $user['email'];   // maria@example.com

Перед обращением к ключу проверяйте его существование, особенно если данные пришли от пользователя или из API.

<?php
$user = ['name' => 'Олег'];

$email = $user['email'] ?? 'email не указан';
echo $email;

null: отсутствие значения

null означает, что значения нет. Это не то же самое, что пустая строка, ноль или пустой массив.

<?php
$middleName = null;

if ($middleName === null) {
    echo 'Отчество не указано';
}

Используйте null, когда значение действительно неизвестно или отсутствует. Например, дата удаления записи может быть null, пока запись активна.

object: объекты

Объекты появляются, когда вы работаете с классами. Даже в основах PHP полезно понимать, что объект — это значение со свойствами и методами.

<?php
class User
{
    public string $name;

    public function __construct(string $name)
    {
        $this->name = $name;
    }
}

$user = new User('Сергей');

echo get_debug_type($user); // User
echo $user->name;          // Сергей

Явное преобразование типов

В PHP можно явно привести значение к нужному типу. Это называется casting.

<?php
$value = '123abc';

var_dump((int) $value);    // int(123)
var_dump((string) 500);    // string(3) "500"
var_dump((bool) 1);        // bool(true)
var_dump((array) 'text');  // array(1) { [0]=> string(4) "text" }

Будьте осторожны: преобразование не всегда работает так, как ожидает новичок. Например, строка '123abc' при приведении к int превращается в 123. Поэтому пользовательский ввод лучше валидировать, а не просто приводить к типу.

Типы параметров и возвращаемых значений

В современном PHP стоит указывать типы в функциях. Это делает код понятнее и помогает быстрее находить ошибки.

<?php
function calculateTotal(int $count, float $price): float
{
    return $count * $price;
}

echo calculateTotal(2, 499.90);

Если вы хотите системно прокачать основы PHP, работу с типами, формами, базой данных и реальными проектами, посмотрите курс «PHP и MySQL с Нуля до Гуру 3.0» — практический путь от первых скриптов до полноценного сайта.

Частые ошибки при работе с типами в PHP

  • Полагаться на неявное преобразование. Лучше явно приводить и валидировать данные.
  • Сравнивать всё через ==. Для точной проверки используйте ===.
  • Путать null, 0 и пустую строку. Это разные значения с разным смыслом.
  • Считать данные из формы числами. Обычно они приходят строками.
  • Использовать float для денег без понимания точности. Для финансов лучше хранить минимальные единицы целым числом.

Мини-шпаргалка

<?php
is_int($value);     // целое число
is_float($value);   // дробное число
is_string($value);  // строка
is_bool($value);    // true или false
is_array($value);   // массив
is_null($value);    // null
is_object($value);  // объект

get_debug_type($value); // удобный вывод типа для отладки

Итоги

Типы данных в PHP — это фундамент, который влияет на условия, функции, обработку форм, работу с массивами и базами данных. Для надёжного кода проверяйте типы через is_* функции, используйте строгое сравнение ===, аккуратно приводите данные и не забывайте, что ввод пользователя почти всегда требует проверки.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.