PHP: Типы данных

Программы работают с разной информацией: текстом, числами, датами, списками, логическими значениями. У каждого значения в программе есть тип.

Например:

  • "Hello, World!" является строкой (string)
  • 7, -198, 0 являются целыми числами (int)
  • 3.14, -0.01, 1.0 являются рациональными числами (float)

Что такое тип данных?

Тип данных определяет:

  • какие значения к нему относятся;
  • какие операции с ним можно делать.

Например, числа можно складывать, делить и умножать. А вот строки соединяются по-другому: при помощи конкатенации. Умножать строку на строку бессмысленно и недопустимо:

// Нельзя: 'мама' * 'блокнот'

Язык программирования распознает типы. Поэтому PHP не позволит нам умножать текст на текст, но позволит умножать число на число. Наличие типов и таких ограничений в языке защищает программы от случайных ошибок.

Числа и строки относятся к разным типам

В отличие от строк, числа оборачивать в кавычки не нужно. Пример вывода числа:

<?php

print_r(5);  // => 5
print_r(-5); // => -5

Пример вывода строки:

<?php

print_r('5');  // => 5
print_r('-5'); // => -5

На экране результат выглядит одинаково, но внутри программы это совершенно разные вещи:

ЗначениеТип данных
5int (целое число)
'5'string (строка)

Число 5 и строка '5' — разные значения, и операции с ними работают по-разному. Правда, при несоответствии типов PHP часто пытается сам преобразовать один тип в другой. Насколько это удобно и чем опасно — разберем чуть позже в этом модуле.

Целые и рациональные числа

PHP различает два вида чисел:

  • int обозначает целые числа: -3, 0, 7, 100000
  • float обозначает вещественные (рациональные) числа: 1.0, -3.14, 2.718

Такое разделение связано с особенностями устройства компьютеров — мы говорили об этом в уроке про числа с плавающей точкой.

Пример:

<?php

print_r(10.234); // => 10.234
print_r(-0.4);   // => -0.4

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

<?php

print_r(3.5 + 1.2);  // => 4.7
print_r(5.0 / 2.0);  // => 2.5
print_r(2.75 - 0.5); // => 2.25

Примитивные типы

Типы вроде:

  • string (строка),
  • int (целое число),
  • float (рациональное число)

называются примитивными: они встроены прямо в сам язык PHP.

Примитивные типы PHP
├── int    : целые числа    (7, -3, 0)
├── float  : дробные числа  (3.14, -0.5)
├── string : строки         ('hello')
└── bool   : логический тип (true, false)

Кроме строк и чисел, в PHP есть булев тип bool со значениями true и false, а также специальное значение null. Подробнее мы столкнемся с ними в будущем.

Существуют и составные типы: массивы, объекты и другие. С ними мы познакомимся позже. Более того, в PHP можно создавать и свои собственные типы (например, классы), но для начала важно хорошо разобраться с примитивами.

Строки и строчки

По-английски строки в программировании называются strings, а строчки текстовых файлов — lines. В русском языке может быть путаница, поэтому во всех уроках мы будем говорить «строка» для обозначения типа данных «строка», и «строчка» — для lines в файлах.

Задание

В программе уже задан текущий год:

<?php

$currentYear = 2026;

Напишите программу, которая выводит данные профиля в таком формате:

Name: Anna
Birth year: 1994
Age: 32
Rating: 4.7

Для этого:

  • создайте переменную с годом рождения;
  • вычислите возраст на основе текущего года;
  • выведите данные на экран с подписями слева.

Полезное

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются