Все инструменты
Бесплатно

Удобный для поиска и печати справочник по PHP 8.3+ — синтаксис, строки, массивы, функции, классы, перечисления, атрибуты и современные возможности. Бесплатно.

Basics & types

10
declare(strict_types=1);
Enforce strict scalar type checks
$x = 1;
Variables start with a dollar sign
const MAX = 100;
Compile-time constant
gettype($x)
Get the type of a value
(int) $x
Cast to an integer
is_int($x)
Type-check helper (is_string, ...)
int|string $x
Union type declaration
?string $x
Nullable type (string or null)
$a ?? 'default'
Null coalescing operator
$a ??= 'default'
Assign only if null

Strings

11
"Hello $name"
Double quotes interpolate variables
'literal $x'
Single quotes are literal
$a . $b
Concatenate strings
strlen($s)
Byte length of a string
str_contains($s, 'a')
Check for a substring
str_starts_with($s, 'a')
Check the prefix
substr($s, 0, 3)
Extract part of a string
str_replace('a', 'b', $s)
Replace all occurrences
explode(',', $s)
Split into an array
sprintf('%05.2f', $n)
Formatted string output
trim($s)
Strip surrounding whitespace

Arrays

11
$a = [1, 2, 3];
Indexed array literal
$a = ['k' => 'v'];
Associative array
array_map(fn($x) => $x * 2, $a)
Transform each element
array_filter($a, fn($x) => $x > 0)
Keep matching elements
array_reduce($a, $fn, 0)
Reduce to a single value
in_array($v, $a, true)
Strict value check
array_keys($a)
Get all keys
array_merge($a, $b)
Merge arrays
[...$a, ...$b]
Spread/merge arrays
count($a)
Number of elements
[$x, $y] = $a;
Array destructuring

Functions

9
function f(int $a): int {}
Typed parameters and return
function f(int $a = 1) {}
Default parameter value
function f(int ...$nums) {}
Variadic parameters
f(...$args)
Spread arguments
f(name: 'Sam', age: 30)
Named arguments
$fn = fn($x) => $x + 1;
Arrow function (auto-captures scope)
function () use ($x) {}
Closure capturing a variable
$fn = strlen(...);
First-class callable syntax
function f(): never {}
Never returns (throws or exits)

Control flow

9
if ($a) {} elseif ($b) {} else {}
Conditional branches
$a ? $b : $c
Ternary expression
$a ?: $b
Short ternary (falsy fallback)
match ($x) { 1, 2 => 'a', default => 'b' }
Strict, expression-based match
switch ($x) { case 1: break; }
Loose multi-way branch
foreach ($a as $k => $v) {}
Iterate keys and values
for ($i = 0; $i < 10; $i++) {}
Counted loop
while ($cond) {}
Loop while a condition holds
break / continue
Exit or skip a loop iteration

Classes & OOP

10
class A extends B implements C {}
Inheritance and interfaces
public function __construct(private int $id) {}
Constructor property promotion
public readonly string $name;
Immutable after initialization
public function f(): static {}
Return the late-bound type
static::create()
Late static binding
$obj?->method()
Null-safe method call
abstract class A {}
Cannot be instantiated directly
trait T {} use T;
Reusable horizontal code
$obj instanceof A
Type check at runtime
A::class
Fully-qualified class name string

Enums

9
enum Status { case Active; case Draft; }
Pure enumeration
enum Status: string { case A = 'a'; }
Backed enum (string/int)
Status::Active
Reference an enum case
Status::from('a')
Build from a backing value
Status::tryFrom('x')
Returns null if invalid
Status::cases()
Array of all cases
$status->value
Backing value of a case
$status->name
Name of the case
enum E { public function label() {} }
Enums can have methods

Error handling

9
try {} catch (Throwable $e) {}
Catch errors and exceptions
catch (TypeError | ValueError $e)
Catch multiple types
catch (Exception)
Non-capturing catch (no variable)
finally {}
Always runs after try/catch
throw new RuntimeException('x')
Throw an exception
throw $e;
Re-throw the caught exception
$x = $v ?? throw new Error();
Throw as an expression
$e->getMessage()
Read the error message
$e->getPrevious()
Get the chained exception

Attributes & modern

9
#[Attribute] class Route {}
Declare a custom attribute
#[Route('/home')]
Apply an attribute to a target
new ReflectionClass($x)
Inspect a class via reflection
$ref->getAttributes()
Read declared attributes
json_encode($data)
Serialize to JSON
json_decode($s, true)
Decode JSON to an array
array_is_list($a)
True if keys are 0..n in order
str_word_count($s)
Count words in a string
$obj::class
Class name from an instance

Нет записей, соответствующих «:q».


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

Эта шпаргалка по PHP сжимает современный PHP в одну удобную для поиска страницу: основы и типы, строки, массивы, функции, управление потоком, классы и ООП, перечисления (enums), обработку ошибок, а также атрибуты и другие современные возможности. Каждая строка — рабочий фрагмент кода с описанием на понятном языке.

Она ориентирована на PHP 8.3+, поэтому здесь есть возможности, определяющие современный PHP — перечисления, свойства только для чтения (readonly), продвижение свойств через конструктор, именованные аргументы, выражения match, стрелочные функции, nullsafe-вызовы и атрибуты — наряду с повседневными функциями работы со строками и массивами, к которым вы обращаетесь постоянно.

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

Как использовать Шпаргалка по PHP

  1. Просмотрите оглавление — от «Основы и типы» до «Перечисления», «Обработка ошибок» и «Атрибуты и современные возможности».
  2. Введите название функции или ключевое слово в строку поиска, чтобы мгновенно отфильтровать всю шпаргалку.
  3. Перейдите к разделу вроде «Классы и ООП» через закреплённую навигацию боковой панели.
  4. Нажмите на любой фрагмент или его значок копирования, чтобы скопировать PHP-код в буфер обмена.
  5. Нажмите «Печать», если хотите получить всю справку на бумаге.

Часто задаваемые вопросы

Она написана для PHP 8.3 и новее. Разделы о перечислениях, атрибутах и современных возможностях охватывают свойства только для чтения, продвижение через конструктор, выражения match, именованные аргументы и nullsafe-вызовы в дополнение к классическому синтаксису.

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

Используйте строку поиска вверху. Она фильтрует каждую строку вживую по всем разделам и показывает количество совпадений, так что ввод чего-то вроде array_map мгновенно сужает шпаргалку до релевантных фрагментов.

Да. Нажмите на сам код или на значок копирования при наведении, и фрагмент попадёт в буфер обмена, что подтвердит короткая вспышка «Скопировано!».

Да, полностью бесплатная. Она отображается в вашем браузере, не требует регистрации и может распечатываться сколько угодно раз.

Поделиться

Популярные запросы
php cheat sheet php syntax reference php array functions php string functions php enums example php 8 attributes php oop cheat sheet php try catch example
Нужна помощь?
Возникла проблема с этим инструментом? Сообщите нам.
Сообщить о проблеме

Добавьте этот бесплатный инструмент на свой сайт — скопируйте и вставьте код ниже.