Основные PHP-конструкции с пояснениями
Как вывести значение переменной на PHP?
Основной способ вывода данных в PHP - использование конструкции echo. Она выводит одну или несколько строк, переменные или результаты выражений.
<?php
$name = "Иван";
echo $name;
?>
Результат работы скрипта:
Иван
Переменной $name присваивается строка "Иван", после чего echo выводит её на экран.
Типичные ошибки:
- Пропущенная точка с запятой в конце строки с echo или присваиванием.
- Использование неинициализированной переменной (вызовет предупреждение).
- Путаница между одинарными и двойными кавычками: в одинарных переменные не интерполируются.
Этот подход используется в любом скрипте для вывода данных пользователю.
Как вывести строку с использованием конкатенации?
Оператор точка (.) объединяет строки. Это позволяет вставить переменные в середину текста.
<?php
$firstName = "Иван";
$lastName = "Петров";
echo "Меня зовут " . $firstName . " " . $lastName . ".";
?>
Меня зовут Иван Петров.
Частая ошибка - забыть точку между строками или использовать запятую. Важно помнить про пробелы внутри кавычек.
Конкатенация удобна, когда нужно вставить переменные в середину строки или комбинировать несколько источников.
Как использовать интерполяцию переменных в двойных кавычках?
Строки в двойных кавычках заменяют переменные их значениями - это лаконичнее конкатенации.
<?php
$name = "Иван";
echo "Привет, $name!";
?>
Привет, Иван!
Для сложных выражений (например, $arr['key']) используют фигурные скобки: {$arr['key']}.
Ошибка: если после имени переменной идет символ, который может быть воспринят как часть имени, PHP не сможет распарсить. В таких случаях обязательно ставить фигурные скобки.
Интерполяция делает код короче, но требует осторожности при работе с массивами.
Как выполнить условное ветвление?
Конструкция if-else выполняет разные блоки кода в зависимости от условия.
<?php
$age = 20;
if ($age >= 18) {
echo "Вы совершеннолетний.";
} else {
echo "Вы несовершеннолетний.";
}
?>
Вы совершеннолетний.
Ошибки: путаница между = (присваивание) и == (сравнение), забытые фигурные скобки при нескольких операторах, неверное написание elseif (слитно).
Условные операторы используются для принятия решений в любой программе.
Как перебрать все элементы массива?
Цикл foreach предназначен для итерации по массиву без счётчика.
<?php
$colors = ["красный", "зеленый", "синий"];
foreach ($colors as $color) {
echo $color . "<br>";
}
?>
красный
зеленый
синий
Ошибка: попытка применить foreach к не-массиву. Внутри цикла $color - это копия элемента, а не ссылка (если не использовать &).
foreach удобен для работы со списками, результатами запросов к БД и т.д.
Как объявить и использовать простую функцию?
Функции группируют повторяющийся код.
<?php
function sayHello($name) {
return "Привет, " . $name . "!";
}
echo sayHello("Иван");
?>
Привет, Иван!
Ошибки: вызов функции до её объявления (часто допускается, но лучше сначала объявить), несоответствие числа аргументов, забытый return (функция вернёт null).
Функции уменьшают дублирование и структурируют код.
Расширенный пример вывода с форматированием строк
Функция printf форматирует строку по шаблону.
<?php
$number = 42;
$price = 19.99;
printf("Число: %d, Цена: %.2f", $number, $price);
?>
Число: 42, Цена: 19.99
%d - целое, %.2f - число с плавающей точкой с двумя знаками после запятой.
Расширенный пример условного оператора с несколькими elseif
<?php
$score = 85;
if ($score >= 90) {
echo "Отлично";
} elseif ($score >= 75) {
echo "Хорошо";
} elseif ($score >= 50) {
echo "Удовлетворительно";
} else {
echo "Неудовлетворительно";
}
?>
Хорошо
Проверка идёт сверху вниз, выполняется первый истинный блок.
Расширенный пример цикла foreach с ключами и значениями
<?php
$person = ["name" => "Иван", "age" => 30, "city" => "Москва"];
foreach ($person as $key => $value) {
echo "$key: $value<br>";
}
?>
name: Иван
age: 30
city: Москва
$key получает ключ элемента, $value - его значение. Удобно для ассоциативных массивов.
Расширенный пример функции с типизированными аргументами и значением по умолчанию
<?php
function greet(string $name = "Гость"): string {
return "Здравствуйте, $name!";
}
echo greet("Иван") . "\n";
echo greet();
?>
Здравствуйте, Иван!
Здравствуйте, Гость!
Тип string для аргумента и возвращаемого значения делает код строже. Значение по умолчанию применяется, если аргумент не передан.
Расширенный пример работы с массивами: array_map и анонимные функции
<?php
$numbers = [1, 2, 3, 4, 5];
$squares = array_map(function($n) {
return $n * $n;
}, $numbers);
print_r($squares);
?>
Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )
array_map применяет функцию к каждому элементу и возвращает новый массив. Анонимная функция определена прямо в вызове.