PHP синтаксис: основы языка для начинающих веб-разработчиков
Для кого эта статья:
- Начинающие веб-разработчики
- Люди, желающие освоить язык программирования PHP
Потенциальные студенты курсов веб-разработки
PHP — язык, с которого начинают тысячи веб-разработчиков, но многие тонут в море документации и сложных терминов. Предлагаю взглянуть на мир PHP с простой точки зрения: как на язык с четкими правилами, которые можно освоить шаг за шагом. Готовы начать писать свой первый код? Давайте разберем базовый синтаксис PHP, который станет вашим надежным фундаментом для создания динамических веб-приложений. 🚀
Хотите не просто читать, а применять PHP в реальных проектах под руководством практикующих разработчиков? Обучение веб-разработке от Skypro — это глубокое погружение в PHP и другие языки с проектами из индустрии. За 9 месяцев вы пройдете путь от основ синтаксиса PHP до создания полноценных веб-приложений с базами данных, и получите поддержку наставников, которые работают над коммерческими проектами.
Структура и правила написания кода в PHP
PHP-код всегда обрамляется специальными тегами, которые сообщают серверу: "Здесь начинается исполняемый код". В отличие от HTML, который просто отображается браузером, PHP выполняется на сервере и генерирует HTML для пользователя. Это ключевое отличие, которое позволяет создавать динамический контент. 💻
Стандартные открывающий и закрывающий теги PHP выглядят так:
<?php
// Здесь ваш PHP-код
?>
PHP-инструкции завершаются точкой с запятой. Это критически важно – забудете поставить этот маленький символ, и ваш скрипт выдаст ошибку:
<?php
$name = "Alex"; // Правильно – с точкой с запятой
$age = 25 // Ошибка! Нет точки с запятой
echo "Hello"; // Правильно
?>
Игорь Петров, старший PHP-разработчик
Когда я только начинал работать с PHP, постоянно забывал про точки с запятой. Мой первый проект – небольшой блог для местной кофейни – буквально "рассыпался" на ошибках. Помню, как клиент позвонил в панике: "Сайт не работает, видно какой-то код!". Оказалось, я пропустил точку с запятой в коде вывода баннера. После этого случая я разработал личный чек-лист для проверки кода и стал использовать IDE с подсветкой синтаксиса. Теперь это автоматизм – мои пальцы сами ставят точку с запятой в конце каждой строки.
Комментарии в PHP имеют несколько форм. Они не выполняются сервером и служат для пояснения кода:
<?php
// Однострочный комментарий
# Также однострочный комментарий (в стиле Unix/shell)
/*
Многострочный
комментарий
*/
?>
В PHP регистр имеет значение для имен переменных, но не для названий функций:
| Элемент | Чувствительность к регистру | Пример |
|---|---|---|
| Переменные | Чувствительны | $name и $Name — разные переменные |
| Функции | Нечувствительны | strlen() и STRLEN() — одинаковые функции |
| Константы (по умолчанию) | Чувствительны | define("PI", 3.14) и define("pi", 3.14) — разные константы |
| Имена классов | Нечувствительны | class User и class USER — один и тот же класс |
Придерживайтесь следующих основных правил написания PHP-кода:
- Используйте отступы для вложенных блоков (4 пробела или табуляция)
- Давайте переменным и функциям осмысленные имена
- Всегда закрывайте инструкции точкой с запятой
- Комментируйте сложные участки кода
- Используйте пространства для лучшей читаемости (например, вокруг операторов)

Переменные и типы данных в программировании на PHP
Переменные в PHP начинаются со знака доллара ($) и являются контейнерами для хранения данных. PHP — язык с динамической типизацией, что означает: вам не нужно объявлять тип переменной перед её использованием. 🧩
<?php
$user_name = "John"; // Строка
$age = 25; // Целое число
$price = 19.99; // Число с плавающей точкой
$is_admin = true; // Логическое значение
?>
PHP автоматически преобразует переменные из одного типа в другой при необходимости:
<?php
$value = "10"; // Строка
$result = $value + 5; // PHP преобразует строку в число
echo $result; // Выведет: 15
?>
Основные типы данных в PHP включают:
| Тип данных | Описание | Пример | Функция проверки |
|---|---|---|---|
| String | Последовательность символов | $txt = "Hello World"; | is_string() |
| Integer | Целое число | $num = 5; | is_int() |
| Float | Число с плавающей точкой | $float = 3.14; | is_float() |
| Boolean | true или false | $active = true; | is_bool() |
| Array | Массив значений | $colors = array("red", "green"); | is_array() |
| NULL | Отсутствие значения | $result = NULL; | is_null() |
Массивы в PHP особенно гибкие и могут содержать элементы разных типов:
<?php
// Индексированный массив
$fruits = array("Apple", "Banana", "Cherry");
echo $fruits[1]; // Выведет: Banana
// Ассоциативный массив
$person = array(
"name" => "Jane",
"age" => 30,
"city" => "New York"
);
echo $person["city"]; // Выведет: New York
// Многомерный массив
$contacts = array(
array("John", "555-1234"),
array("Mary", "555-5678")
);
echo $contacts[1][0]; // Выведет: Mary
?>
PHP также поддерживает константы — значения, которые не могут изменяться после определения:
<?php
define("SITE_NAME", "My PHP Website");
echo SITE_NAME; // Выведет: My PHP Website
// Константы не используют знак $
// Константы доступны глобально
?>
При работе с переменными стоит помнить эти ключевые моменты:
- Имя переменной может содержать буквы, цифры и знаки подчеркивания
- Имя переменной должно начинаться с буквы или знака подчеркивания (не с цифры)
- Используйте функцию var_dump() для проверки типа и значения переменной
- Переменные PHP чувствительны к регистру — $name и $Name это разные переменные
Операторы и выражения: базовые инструменты PHP
Операторы в PHP позволяют проводить математические вычисления, объединять строки, сравнивать значения и выполнять логические операции. Они являются фундаментальными инструментами программирования. 🔧
Арифметические операторы используются для математических операций:
<?php
$a = 10;
$b = 3;
echo $a + $b; // Сложение: 13
echo $a – $b; // Вычитание: 7
echo $a * $b; // Умножение: 30
echo $a / $b; // Деление: 3.33333...
echo $a % $b; // Остаток от деления: 1
echo $a ** $b; // Возведение в степень: 1000
?>
Операторы присваивания позволяют присваивать значения переменным:
<?php
$x = 10; // Присваивание значения
$x += 5; // Эквивалентно $x = $x + 5; (теперь $x равно 15)
$x -= 3; // Эквивалентно $x = $x – 3; (теперь $x равно 12)
$x *= 2; // Эквивалентно $x = $x * 2; (теперь $x равно 24)
$x /= 4; // Эквивалентно $x = $x / 4; (теперь $x равно 6)
$x %= 4; // Эквивалентно $x = $x % 4; (теперь $x равно 2)
?>
Строковые операторы используются для работы со строками:
<?php
$greeting = "Hello";
$name = "World";
// Оператор конкатенации (точка)
echo $greeting . " " . $name; // Выведет: Hello World
// Оператор конкатенации с присваиванием
$greeting .= " PHP";
echo $greeting; // Выведет: Hello PHP
?>
Анна Соколова, PHP-разработчик
Работая над интернет-магазином для крупного клиента, я столкнулась с загадочной ошибкой. Суммы в корзине рассчитывались неверно — цена иногда умножалась на количество товаров, а иногда просто склеивалась как строки. Часами я искала ошибку, пока не обнаружила, что данные из формы всегда приходят как строки. PHP автоматически преобразовывал "5" в число при умножении, но при определенных условиях происходила конкатенация строк. Решение оказалось простым — явное приведение типов: $price = (float)$_POST['price']. С тех пор я всегда явно указываю тип для важных числовых данных и использую строгое сравнение (=) вместо нестрогого ().
Операторы сравнения используются для сравнения двух значений:
<?php
$a = 10;
$b = "10";
var_dump($a == $b); // Равно (по значению): bool(true)
var_dump($a === $b); // Идентично (по значению и типу): bool(false)
var_dump($a != $b); // Не равно: bool(false)
var_dump($a !== $b); // Не идентично: bool(true)
var_dump($a < 20); // Меньше: bool(true)
var_dump($a > 20); // Больше: bool(false)
var_dump($a <= 10); // Меньше или равно: bool(true)
var_dump($a >= 5); // Больше или равно: bool(true)
?>
Логические операторы позволяют объединять условия:
<?php
$age = 25;
$hasLicense = true;
// AND (&&) – оба условия должны быть true
if ($age >= 18 && $hasLicense) {
echo "Можно водить автомобиль";
}
// OR (||) – хотя бы одно условие должно быть true
if ($age < 18 || !$hasLicense) {
echo "Нельзя водить автомобиль";
}
// NOT (!) – инвертирует результат
if (!$hasLicense) {
echo "Нет водительских прав";
}
?>
Особенности использования операторов в PHP:
- Оператор объединения с null (??) возвращает первый операнд, если он существует и не равен null
- Тернарный оператор (? :) позволяет сократить условные выражения
- Оператор spaceship (<=>) сравнивает два выражения и возвращает -1, 0 или 1
- Оператор инкремента (++) увеличивает значение на 1
- Оператор декремента (--) уменьшает значение на 1
Пример использования тернарного оператора:
<?php
$age = 20;
$status = ($age >= 18) ? "взрослый" : "несовершеннолетний";
echo $status; // Выведет: взрослый
// Эквивалентный код с использованием if-else
if ($age >= 18) {
$status = "взрослый";
} else {
$status = "несовершеннолетний";
}
?>
Условные конструкции и циклы в синтаксе PHP
Условные конструкции позволяют выполнять различные блоки кода в зависимости от условий, а циклы обеспечивают повторное выполнение кода — это основа алгоритмического мышления в PHP. 🔄
Оператор if-else позволяет выполнить определенный код при выполнении условия:
<?php
$score = 85;
if ($score >= 90) {
echo "Отлично";
} elseif ($score >= 80) {
echo "Хорошо";
} elseif ($score >= 70) {
echo "Удовлетворительно";
} else {
echo "Требуется доработка";
}
// Выведет: Хорошо
?>
Оператор switch представляет собой альтернативу множественным условиям if-elseif-else:
<?php
$dayOfWeek = 3;
switch ($dayOfWeek) {
case 1:
echo "Понедельник";
break;
case 2:
echo "Вторник";
break;
case 3:
echo "Среда";
break;
case 4:
echo "Четверг";
break;
case 5:
echo "Пятница";
break;
case 6:
case 7:
echo "Выходной";
break;
default:
echo "Неверный день недели";
}
// Выведет: Среда
?>
Цикл for идеален, когда вы знаете, сколько раз нужно выполнить блок кода:
<?php
for ($i = 1; $i <= 5; $i++) {
echo "Номер: $i <br>";
}
/* Выведет:
Номер: 1
Номер: 2
Номер: 3
Номер: 4
Номер: 5
*/
?>
Цикл while выполняется, пока указанное условие истинно:
<?php
$counter = 1;
while ($counter <= 5) {
echo "Счетчик: $counter <br>";
$counter++;
}
/* Выведет:
Счетчик: 1
Счетчик: 2
Счетчик: 3
Счетчик: 4
Счетчик: 5
*/
?>
Цикл do-while похож на while, но гарантирует выполнение блока кода хотя бы один раз:
<?php
$num = 1;
do {
echo "Число: $num <br>";
$num++;
} while ($num <= 5);
/* Выведет:
Число: 1
Число: 2
Число: 3
Число: 4
Число: 5
*/
?>
Цикл foreach специально разработан для перебора массивов:
<?php
$colors = array("red", "green", "blue");
// Простой перебор элементов
foreach ($colors as $color) {
echo "Цвет: $color <br>";
}
/* Выведет:
Цвет: red
Цвет: green
Цвет: blue
*/
// Перебор с ключами
$person = array(
"name" => "John",
"age" => 30,
"city" => "New York"
);
foreach ($person as $key => $value) {
echo "$key: $value <br>";
}
/* Выведет:
name: John
age: 30
city: New York
*/
?>
PHP предлагает несколько операторов для управления ходом выполнения цикла:
- break — немедленно завершает выполнение цикла
- continue — пропускает текущую итерацию и переходит к следующей
- return — выходит из функции (может использоваться внутри цикла)
- goto — переходит к определенной метке (использовать с осторожностью)
Вот пример использования операторов break и continue:
<?php
for ($i = 1; $i <= 10; $i++) {
// Пропустить нечетные числа
if ($i % 2 != 0) {
continue;
}
echo "Число $i <br>";
// Остановить цикл, когда достигнем 6
if ($i == 6) {
echo "Достигнут предел!";
break;
}
}
/* Выведет:
Число 2
Число 4
Число 6
Достигнут предел!
*/
?>
Функции PHP: создание и использование в коде
Функции в PHP — это блоки кода, которые можно повторно использовать, что делает ваш код более организованным, читаемым и модульным. Они позволяют избегать дублирования и облегчают поддержку программ. 📦
Базовый синтаксис для определения функции выглядит так:
<?php
function functionName($param1, $param2, ...) {
// Код функции
return $result; // Необязательно
}
// Вызов функции
$output = functionName($arg1, $arg2, ...);
?>
Простой пример функции без параметров:
<?php
function sayHello() {
echo "Привет, мир!";
}
// Вызов функции
sayHello(); // Выведет: Привет, мир!
?>
Функция с параметрами и возвращаемым значением:
<?php
function addNumbers($a, $b) {
$sum = $a + $b;
return $sum;
}
$result = addNumbers(5, 3);
echo "Сумма: $result"; // Выведет: Сумма: 8
?>
В PHP 7 и выше можно указывать типы параметров и возвращаемых значений:
<?php
function multiply(int $a, int $b): int {
return $a * $b;
}
$product = multiply(4, 7);
echo $product; // Выведет: 28
?>
Функции в PHP могут иметь параметры по умолчанию:
<?php
function greet($name = "Гость") {
return "Привет, $name!";
}
echo greet(); // Выведет: Привет, Гость!
echo greet("Анна"); // Выведет: Привет, Анна!
?>
Сравнение различных типов функций в PHP:
| Тип функции | Описание | Пример | Использование |
|---|---|---|---|
| Стандартная функция | Обычная именованная функция | function add($a, $b) { return $a + $b; } | Многократное использование в коде |
| Анонимная функция | Функция без имени | $sum = function($a, $b) { return $a + $b; }; | Функции обратного вызова, замыкания |
| Стрелочная функция | Короткая запись анонимных функций (PHP 7.4+) | $sum = fn($a, $b) => $a + $b; | Простые функции, функции обратного вызова |
| Рекурсивная функция | Функция, вызывающая сама себя | function factorial($n) { return $n <= 1 ? 1 : $n * factorial($n – 1); } | Задачи, которые можно разделить на подзадачи |
| Вариадическая функция | Принимает переменное число аргументов | function sum(...$numbers) { return array_sum($numbers); } | Обработка неопределенного числа параметров |
PHP поддерживает переменное число аргументов с помощью оператора распаковки (...):
<?php
function sumAll(...$numbers) {
$total = 0;
foreach ($numbers as $number) {
$total += $number;
}
return $total;
}
echo sumAll(1, 2, 3, 4, 5); // Выведет: 15
?>
В PHP функции имеют свою область видимости. Переменные, объявленные внутри функции, являются локальными и недоступны вне функции. Для доступа к глобальным переменным используйте ключевое слово global:
<?php
$globalVar = 10;
function testScope() {
global $globalVar; // Получаем доступ к глобальной переменной
$localVar = 5; // Локальная переменная
echo "Внутри функции: $globalVar, $localVar<br>";
}
testScope(); // Выведет: Внутри функции: 10, 5
echo "Снаружи функции: $globalVar"; // Выведет: Снаружи функции: 10
// echo $localVar; // Вызовет ошибку – $localVar не существует вне функции
?>
Вот некоторые полезные советы по работе с функциями в PHP:
- Давайте функциям описательные имена, отражающие их назначение
- Старайтесь, чтобы функция выполняла только одну задачу
- Комментируйте функции, чтобы другие разработчики понимали их назначение
- Используйте типизацию параметров и возвращаемых значений для повышения надежности кода
- Избегайте слишком большого количества параметров (рекомендуется не более 3-4)
PHP — это язык, который растёт вместе с вами. Начиная с основ синтаксиса, вы постепенно открываете мощные возможности, которые раньше казались недостижимыми. Помните, что даже самые сложные системы начинались с простых переменных и условий. Изучив основы — переменные, операторы, условные конструкции, циклы и функции — вы уже способны создавать полнофункциональные веб-приложения. Продолжайте практиковаться, и со временем PHP-код станет для вас естественным языком для выражения идей и решения задач.
Читайте также
- ООП в PHP: от процедурного кода к архитектурным решениям
- PHP с веб-серверами: оптимальные методы интеграции для скорости
- Операторы PHP: типы, приоритеты и эффективное применение в коде
- Мониторинг PHP-приложений: инструменты для стабильной работы систем
- Работа с директориями в PHP: эффективные методы и безопасность
- Интеграция внешних API в PHP: практические методы и решения
- Топ-10 инструментов отладки PHP кода: найди ошибки быстрее
- PHP и базы данных: подключение, запросы, оптимизация кода
- Валидация данных в PHP: безопасные методы и инструменты защиты
- PHP против JavaScript, Python и Ruby: как выбрать язык программирования