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На экране результат выглядит одинаково, но внутри программы это совершенно разные вещи:
| Значение | Тип данных |
|---|---|
5 | int (целое число) |
'5' | string (строка) |
Число 5 и строка '5' — разные значения, и операции с ними работают по-разному. Правда, при несоответствии типов PHP часто пытается сам преобразовать один тип в другой. Насколько это удобно и чем опасно — разберем чуть позже в этом модуле.
Целые и рациональные числа
PHP различает два вида чисел:
intобозначает целые числа: -3, 0, 7, 100000floatобозначает вещественные (рациональные) числа: 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Для этого:
- создайте переменную с годом рождения;
- вычислите возраст на основе текущего года;
- выведите данные на экран с подписями слева.
Полезное
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На экране результат выглядит одинаково, но внутри программы это совершенно разные вещи:
| Значение | Тип данных |
|---|---|
5 | int (целое число) |
'5' | string (строка) |
Число 5 и строка '5' — разные значения, и операции с ними работают по-разному. Правда, при несоответствии типов PHP часто пытается сам преобразовать один тип в другой. Насколько это удобно и чем опасно — разберем чуть позже в этом модуле.
Целые и рациональные числа
PHP различает два вида чисел:
intобозначает целые числа: -3, 0, 7, 100000floatобозначает вещественные (рациональные) числа: 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Для этого:
- создайте переменную с годом рождения;
- вычислите возраст на основе текущего года;
- выведите данные на экран с подписями слева.
Полезное
Ваше упражнение проверяется по этим тестам
<?php
namespace HexletBasics\DataTypes\PrimitiveDataTypes;
use HexletBasics\Exercise\TestCase;
class SolutionTest extends TestCase
{
public function test()
{
$expected = <<<HERE
Name: Anna
Birth year: 1994
Age: 32
Rating: 4.7
HERE;
$this->assertOutput($expected);
}
}Решение учителя откроется через:
20:00
