PHP синтаксис: основы языка для начинающих веб-разработчиков

Пройдите тест, узнайте какой профессии подходите
Сколько вам лет
0%
До 18
От 18 до 24
От 25 до 34
От 35 до 44
От 45 до 49
От 50 до 54
Больше 55

Для кого эта статья:

  • Начинающие веб-разработчики
  • Люди, желающие освоить язык программирования PHP
  • Потенциальные студенты курсов веб-разработки

    PHP — язык, с которого начинают тысячи веб-разработчиков, но многие тонут в море документации и сложных терминов. Предлагаю взглянуть на мир PHP с простой точки зрения: как на язык с четкими правилами, которые можно освоить шаг за шагом. Готовы начать писать свой первый код? Давайте разберем базовый синтаксис PHP, который станет вашим надежным фундаментом для создания динамических веб-приложений. 🚀

Хотите не просто читать, а применять PHP в реальных проектах под руководством практикующих разработчиков? Обучение веб-разработке от Skypro — это глубокое погружение в PHP и другие языки с проектами из индустрии. За 9 месяцев вы пройдете путь от основ синтаксиса PHP до создания полноценных веб-приложений с базами данных, и получите поддержку наставников, которые работают над коммерческими проектами.

Структура и правила написания кода в PHP

PHP-код всегда обрамляется специальными тегами, которые сообщают серверу: "Здесь начинается исполняемый код". В отличие от HTML, который просто отображается браузером, PHP выполняется на сервере и генерирует HTML для пользователя. Это ключевое отличие, которое позволяет создавать динамический контент. 💻

Стандартные открывающий и закрывающий теги PHP выглядят так:

php
Скопировать код
<?php
// Здесь ваш PHP-код
?>

PHP-инструкции завершаются точкой с запятой. Это критически важно – забудете поставить этот маленький символ, и ваш скрипт выдаст ошибку:

php
Скопировать код
<?php
$name = "Alex"; // Правильно – с точкой с запятой
$age = 25 // Ошибка! Нет точки с запятой
echo "Hello"; // Правильно
?>

Игорь Петров, старший PHP-разработчик

Когда я только начинал работать с PHP, постоянно забывал про точки с запятой. Мой первый проект – небольшой блог для местной кофейни – буквально "рассыпался" на ошибках. Помню, как клиент позвонил в панике: "Сайт не работает, видно какой-то код!". Оказалось, я пропустил точку с запятой в коде вывода баннера. После этого случая я разработал личный чек-лист для проверки кода и стал использовать IDE с подсветкой синтаксиса. Теперь это автоматизм – мои пальцы сами ставят точку с запятой в конце каждой строки.

Комментарии в PHP имеют несколько форм. Они не выполняются сервером и служат для пояснения кода:

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
Скопировать код
<?php
$user_name = "John"; // Строка
$age = 25; // Целое число
$price = 19.99; // Число с плавающей точкой
$is_admin = true; // Логическое значение
?>

PHP автоматически преобразует переменные из одного типа в другой при необходимости:

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
Скопировать код
<?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
Скопировать код
<?php
define("SITE_NAME", "My PHP Website");
echo SITE_NAME; // Выведет: My PHP Website

// Константы не используют знак $
// Константы доступны глобально
?>

При работе с переменными стоит помнить эти ключевые моменты:

  • Имя переменной может содержать буквы, цифры и знаки подчеркивания
  • Имя переменной должно начинаться с буквы или знака подчеркивания (не с цифры)
  • Используйте функцию var_dump() для проверки типа и значения переменной
  • Переменные PHP чувствительны к регистру — $name и $Name это разные переменные

Операторы и выражения: базовые инструменты PHP

Операторы в 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
Скопировать код
<?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
Скопировать код
<?php
$greeting = "Hello";
$name = "World";

// Оператор конкатенации (точка)
echo $greeting . " " . $name; // Выведет: Hello World

// Оператор конкатенации с присваиванием
$greeting .= " PHP";
echo $greeting; // Выведет: Hello PHP
?>

Анна Соколова, PHP-разработчик

Работая над интернет-магазином для крупного клиента, я столкнулась с загадочной ошибкой. Суммы в корзине рассчитывались неверно — цена иногда умножалась на количество товаров, а иногда просто склеивалась как строки. Часами я искала ошибку, пока не обнаружила, что данные из формы всегда приходят как строки. PHP автоматически преобразовывал "5" в число при умножении, но при определенных условиях происходила конкатенация строк. Решение оказалось простым — явное приведение типов: $price = (float)$_POST['price']. С тех пор я всегда явно указываю тип для важных числовых данных и использую строгое сравнение (=) вместо нестрогого ().

Операторы сравнения используются для сравнения двух значений:

php
Скопировать код
<?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
Скопировать код
<?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
Скопировать код
<?php
$age = 20;
$status = ($age >= 18) ? "взрослый" : "несовершеннолетний";
echo $status; // Выведет: взрослый

// Эквивалентный код с использованием if-else
if ($age >= 18) {
$status = "взрослый";
} else {
$status = "несовершеннолетний";
}
?>

Условные конструкции и циклы в синтаксе PHP

Условные конструкции позволяют выполнять различные блоки кода в зависимости от условий, а циклы обеспечивают повторное выполнение кода — это основа алгоритмического мышления в PHP. 🔄

Оператор if-else позволяет выполнить определенный код при выполнении условия:

php
Скопировать код
<?php
$score = 85;

if ($score >= 90) {
echo "Отлично";
} elseif ($score >= 80) {
echo "Хорошо";
} elseif ($score >= 70) {
echo "Удовлетворительно";
} else {
echo "Требуется доработка";
}
// Выведет: Хорошо
?>

Оператор switch представляет собой альтернативу множественным условиям if-elseif-else:

php
Скопировать код
<?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
Скопировать код
<?php
for ($i = 1; $i <= 5; $i++) {
echo "Номер: $i <br>";
}
/* Выведет:
Номер: 1
Номер: 2
Номер: 3
Номер: 4
Номер: 5
*/
?>

Цикл while выполняется, пока указанное условие истинно:

php
Скопировать код
<?php
$counter = 1;
while ($counter <= 5) {
echo "Счетчик: $counter <br>";
$counter++;
}
/* Выведет:
Счетчик: 1
Счетчик: 2
Счетчик: 3
Счетчик: 4
Счетчик: 5
*/
?>

Цикл do-while похож на while, но гарантирует выполнение блока кода хотя бы один раз:

php
Скопировать код
<?php
$num = 1;
do {
echo "Число: $num <br>";
$num++;
} while ($num <= 5);
/* Выведет:
Число: 1
Число: 2
Число: 3
Число: 4
Число: 5
*/
?>

Цикл foreach специально разработан для перебора массивов:

php
Скопировать код
<?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
Скопировать код
<?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
Скопировать код
<?php
function functionName($param1, $param2, ...) {
// Код функции
return $result; // Необязательно
}

// Вызов функции
$output = functionName($arg1, $arg2, ...);
?>

Простой пример функции без параметров:

php
Скопировать код
<?php
function sayHello() {
echo "Привет, мир!";
}

// Вызов функции
sayHello(); // Выведет: Привет, мир!
?>

Функция с параметрами и возвращаемым значением:

php
Скопировать код
<?php
function addNumbers($a, $b) {
$sum = $a + $b;
return $sum;
}

$result = addNumbers(5, 3);
echo "Сумма: $result"; // Выведет: Сумма: 8
?>

В PHP 7 и выше можно указывать типы параметров и возвращаемых значений:

php
Скопировать код
<?php
function multiply(int $a, int $b): int {
return $a * $b;
}

$product = multiply(4, 7);
echo $product; // Выведет: 28
?>

Функции в PHP могут иметь параметры по умолчанию:

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
Скопировать код
<?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
Скопировать код
<?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?
1 / 5

Загрузка...