Перейти к содержанию
Educora
Начальный15 мин2 / 10

Переменные, типы и строки

Создавай переменные, проверяй основные типы PHP с помощью var_dump, подставляй переменные в строки, пиши heredoc и пользуйся полезными строковыми функциями.

Проверь себя
В этом уроке ты узнаешь
  • Создавать переменные и распознавать основные типы PHP
  • Различать строки в одинарных и двойных кавычках, интерполяцию и heredoc
  • Обрабатывать текст функциями strlen, str_replace, sprintf и number_format

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

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

В PHP имя переменной начинается со знака $, а значение присваивается с помощью =. Объявлять переменную заранее и указывать её тип не нужно: PHP сам определяет тип по значению. Такие языки называют языками с динамической типизацией. Имя должно начинаться с буквы или _; обычно используют стиль camelCase, например $firstName.

PHP
<?php

$name = "Aysel";
$age = 15;
$height = 1.62;
$isStudent = true;
$phone = null;

var_dump($name);
var_dump($age);
var_dump($height);
var_dump($isStudent);
var_dump($phone);
echo gettype($age), " / ", get_debug_type($height), "\n";
Ожидаемый результат
string(5) "Aysel"
int(15)
float(1.62)
bool(true)
NULL
integer / float
ТипПримерЧто хранит
int15, -3, 2026целые числа
float1.62, 0.5, 3e2дробные числа (в коде разделитель — всегда точка)
string"Aysel", 'PHP'текст
booltrue, falseлогическое значение: истина или ложь
nullnull«значения нет»
array[5, 4, 5]набор значений (урок 4)
Скалярные типы PHP, null и массив

var_dump показывает и тип, и содержимое значения — это самая полезная функция для отладки. Для строк она выводит ещё и длину: string(5). gettype возвращает старые названия (integer, double), а появившаяся в PHP 8 get_debug_type — современные (int, float). Для значений, которые не меняются, создай константу: const MAX_SCORE = 100; — в имени константы нет $.

Одинарные и двойные кавычки

Строка в одинарных кавычках хранит текст как есть: в ней не работают ни переменные, ни специальные символы вроде \n. В строке в двойных кавычках переменные заменяются своими значениями — это называется интерполяцией, — и работают символы \n, \t. Чтобы склеить строки, используют оператор точка ., а чтобы дописать в конец — .=.

PHP
<?php

$city = "Ganja";
$year = 2026;
$fruit = "apple";

echo 'Hello from $city\n', "\n";
echo "Hello from $city in $year\n";
echo "Hello from " . $city . "!\n";
echo "I ate two {$fruit}s\n";

$message = "Good";
$message .= " luck";
echo $message, "\n";
Ожидаемый результат
Hello from $city\n
Hello from Ganja in 2026
Hello from Ganja!
I ate two apples
Good luck

Фигурные скобки в {$fruit} подсказывают PHP, где заканчивается имя переменной. Без них запись "$fruits" искала бы другую, несуществующую переменную $fruits. Используй {...} и когда вставляешь в строку элемент массива или свойство объекта: "{$user['name']}".

Heredoc и nowdoc

Для многострочного текста (письма, шаблона e-mail, куска HTML) удобен heredoc: он начинается с <<<TEXT, заканчивается такой же меткой и подставляет переменные, как двойные кавычки. Nowdoc (<<<'TEXT', имя в кавычках) хранит текст как есть, подобно одинарным кавычкам. Начиная с PHP 7.3 закрывающую метку можно сдвинуть отступом — тогда такой же отступ убирается из начала всех строк.

PHP
<?php

$name = "Murad";
$course = "PHP";

$letter = <<<TEXT
    Dear $name,
    welcome to the {$course} course!
      Lesson 1 starts today.
    TEXT;

echo $letter, "\n";

echo <<<'RAW'
Variables like $name stay as they are.
RAW;
Ожидаемый результат
Dear Murad,
welcome to the PHP course!
  Lesson 1 starts today.
Variables like $name stay as they are.

Полезные строковые функции

PHP
<?php

$text = "  Learning PHP is fun  ";
$clean = trim($text);

echo strlen($clean), "\n";
echo strtoupper($clean), "\n";
echo str_replace("fun", "easy", $clean), "\n";
echo substr($clean, 0, 8), "\n";
var_dump(str_contains($clean, "PHP"));
echo ucfirst("baku"), "\n";
echo sprintf("%.2f AZN", 12.5), "\n";
echo number_format(1234567.891, 2), "\n";
Ожидаемый результат
19
LEARNING PHP IS FUN
Learning PHP is easy
Learning
bool(true)
Baku
12.50 AZN
1,234,567.89
  • trim убирает пробелы в начале и в конце строки — всегда так очищай данные из форм.
  • substr($s, 0, 8) берёт 8 символов, начиная с позиции 0; str_contains (PHP 8) проверяет, есть ли подстрока.
  • sprintf строит строку по шаблону: %.2f подставляет дробное число с двумя знаками после запятой, %d — целое, %s — строку.
  • number_format округляет число и разделяет разряды тысяч.

Главное

  • Имя переменной начинается с $; PHP — язык с динамической типизацией и определяет тип по значению.
  • Основные типы: int, float, string, bool, null и array; var_dump показывает тип вместе со значением.
  • Двойные кавычки обрабатывают переменные и \n, одинарные хранят текст как есть; строки склеиваются точкой ..
  • Heredoc подставляет переменные в многострочный текст, а nowdoc хранит текст без изменений.
  • Для текста с азербайджанскими, русскими или турецкими буквами используй функции mb_: strlen считает байты.

Проверь себя

Вопросов: 10. Каждый правильный ответ приносит XP.

1 / 10
Что выведет var_dump(7.0);?