Menu
Coddy logo textTech

Шпаргалка по PHP

Последнее обновление

Hello World и теги

Код PHP находится внутри тегов <?php ... ?>; всё вне них отправляется как обычный вывод.

ОперацияСинтаксис
Открыть / закрыть PHP<?php ... ?>
Вывести текстecho "Hello, World!";
Вывести с форматированиемprintf("%d items", $n);
Краткий echo (в HTML)<?= $name ?>
Однострочный комментарий// comment или # comment
Блочный комментарий/* comment */
Завершение оператора;
Запустить файл (CLI)php index.php

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

Переменные начинаются с $ и динамически типизированы.

ОперацияСинтаксис
Объявить переменную$name = "Ada";
Константаconst PI = 3.14; или define("PI", 3.14);
Скалярные типыint, float, string, bool
Null$x = null;
Узнать типgettype($x), is_int($x), is_array($x)
Приведение типа(int) $str, (string) $num
Переменная существует / заданаisset($x), empty($x)
Интерполяция строкecho "Hi $name";

Строки

Двойные кавычки интерполируют переменные; одинарные - буквальны.

ОперацияСинтаксис
Конкатенация$a . $b
Длинаstrlen($s)
Верхний / нижний регистрstrtoupper($s), strtolower($s)
Подстрокаsubstr($s, 0, 5)
Найти позициюstrpos($s, "x")
Заменитьstr_replace("a", "b", $s)
Разбить в массивexplode(",", $csv)
Объединить массивimplode(",", $arr)
Убрать пробелы по краямtrim($s)
Форматировать строкуsprintf("%05.2f", $n)

Массивы (включая ассоциативные)

Один тип массива покрывает и индексированные списки, и мапы ключ-значение.

ОперацияСинтаксис
Индексированный массив$nums = [1, 2, 3];
Ассоциативный массив$user = ["name" => "Ada", "age" => 30];
Доступ к элементу$nums[0], $user["name"]
Добавить в конец$nums[] = 4;
Задать ключ$user["role"] = "admin";
Длинаcount($nums)
Проверить ключisset($user["name"]), array_key_exists("name", $user)
Удалить элементunset($nums[1]);
Объединить массивыarray_merge($a, $b)
Перебор ключ => значениеforeach ($user as $k => $v) { ... }

Управление потоком

Условия и циклы следуют синтаксису в стиле C.

ОперацияСинтаксис
If / elseif / elseif ($x > 0) { ... } elseif (...) { ... } else { ... }
Тернарный оператор$y = $x > 0 ? "pos" : "neg";
Объединение с null$name = $_GET["name"] ?? "guest";
Switchswitch ($day) { case 1: ...; break; default: ... }
Цикл forfor ($i = 0; $i < 10; $i++) { ... }
Цикл whilewhile ($x < 100) { ... }
Foreachforeach ($items as $item) { ... }
Выражение match$r = match($x) { 1 => "one", default => "?" };
Break / continuebreak;, continue;

Функции

Функции могут объявлять типы, значения по умолчанию и вариативные параметры.

ОперацияСинтаксис
Базовая функцияfunction add($a, $b) { return $a + $b; }
Типизированные параметры и возвратfunction add(int $a, int $b): int { ... }
Значение по умолчаниюfunction greet($name = "guest") { ... }
Вариативные параметрыfunction sum(...$nums) { ... }
Передача по ссылкеfunction inc(&$x) { $x++; }
Анонимная функция$f = function($x) { return $x * 2; };
Стрелочная функция$f = fn($x) => $x * 2;
Использовать внешнюю переменнуюfunction() use ($n) { ... }

Суперглобальные переменные

Встроенные массивы, доступные в любой области видимости, в основном для данных запроса.

СуперглобальнаяЧто содержит
$_GETПараметры строки запроса из URL
$_POSTДанные формы, отправленные через POST
$_REQUESTОбъединение $_GET, $_POST и $_COOKIE
$_SESSIONДанные сессии для пользователя (после session_start())
$_COOKIEКуки, отправленные браузером
$_SERVERСведения о сервере и запросе (REQUEST_METHOD и т. д.)
$_FILESМетаданные загруженных файлов
$_ENVПеременные окружения

Частые функции для массивов

PHP поставляется с сотнями помощников для массивов; это рабочие лошадки.

ФункцияЧто делает
array_map($fn, $arr)Преобразовать каждый элемент
array_filter($arr, $fn)Оставить элементы, для которых колбэк вернул true
array_reduce($arr, $fn, $init)Свернуть к одному значению
in_array($v, $arr)Проверить наличие значения
array_keys($arr) / array_values($arr)Получить ключи или значения
sort($arr) / rsort($arr)Сортировка на месте (возр. / убыв.)
usort($arr, $cmp)Сортировка с пользовательским компаратором
array_slice($arr, 1, 3)Извлечь часть
array_push($arr, $v) / array_pop($arr)Добавить / удалить с конца

Классы и ООП

PHP поддерживает классы, наследование, интерфейсы и модификаторы видимости.

ОперацияСинтаксис
Определить классclass User { ... }
Свойство с видимостьюpublic string $name;
Конструкторfunction __construct($name) { $this->name = $name; }
Продвижение свойств в конструктореfunction __construct(public string $name) {}
Создать экземпляр$u = new User("Ada");
Доступ к члену$u->name, $u->save()
Статический членUser::$count, User::create()
Наследованиеclass Admin extends User { ... }
Интерфейсinterface Saveable { public function save(); }
Реализовать интерфейсclass User implements Saveable { ... }

Синтаксис PHP, который нужен чаще всего, на одной странице. Эта шпаргалка по PHP - быстрый справочник по ядру языка: переменные и типы, строки, массивы (включая ассоциативные), управление потоком, функции, суперглобальные переменные вроде $_GET и $_POST, а также классы.

Всё здесь - стандартный PHP, работающий на современных версиях. Копируйте нужное или попробуйте каждый фрагмент вживую в playground для PHP - без настройки сервера.

Часто задаваемые вопросы по шпаргалке PHP

Эта шпаргалка по PHP бесплатна?
Да. Эта шпаргалка по PHP полностью бесплатна, регистрация не требуется. Добавьте её в закладки и возвращайтесь, когда нужно посмотреть строковую функцию, помощник для массивов или суперглобальную переменную.
В чём разница между == и === в PHP?
== - нестрогое сравнение: оно приводит операнды к общему типу перед сравнением, поэтому 0 == "0" и даже 0 == "" могут вести себя неожиданно в разных версиях. === - строгое сравнение: оно возвращает true только когда значения равны и одного типа, поэтому 0 === "0" равно false. Предпочитайте ===, чтобы избежать ошибок из-за приведения типов.
Что такое ассоциативные массивы в PHP?
Ассоциативный массив - это массив PHP, который использует именованные строковые ключи вместо (или наряду с) числовых индексов, например ["name" => "Ada", "age" => 30]. В PHP есть единый тип массива, служащий одновременно упорядоченным списком и мапой ключ-значение, поэтому вы обращаетесь к значениям по ключу через $user["name"] и перебираете через foreach ($user as $key => $value).
Можно ли практиковать PHP онлайн?
Да. Откройте playground для PHP, чтобы выполнить любой фрагмент из этой шпаргалки прямо в браузере - без сервера или локальной установки PHP. А если нужна структура, бесплатный интерактивный курс PHP от Coddy шаг за шагом проведёт вас от переменных и массивов до функций и ООП.
Подходит ли эта шпаргалка для начинающих?
Да. Она построена от самых распространённых тем (переменные, строки, массивы, управление потоком) к продвинутым (суперглобальные переменные и ООП), так что верхние разделы можно использовать с первого дня и постепенно осваивать остальное.
Coddy programming languages illustration

Изучайте PHP с Coddy

НАЧАТЬ