PHP Cheat Sheet
A searchable, printable PHP 8.3+ reference — syntax, strings, arrays, functions, classes, enums, attributes and modern features. Free.
Basics & types
10declare(strict_types=1);
$x = 1;
const MAX = 100;
gettype($x)
(int) $x
is_int($x)
int|string $x
?string $x
$a ?? 'default'
$a ??= 'default'
Strings
11"Hello $name"
'literal $x'
$a . $b
strlen($s)
str_contains($s, 'a')
str_starts_with($s, 'a')
substr($s, 0, 3)
str_replace('a', 'b', $s)
explode(',', $s)
sprintf('%05.2f', $n)
trim($s)
Arrays
11$a = [1, 2, 3];
$a = ['k' => 'v'];
array_map(fn($x) => $x * 2, $a)
array_filter($a, fn($x) => $x > 0)
array_reduce($a, $fn, 0)
in_array($v, $a, true)
array_keys($a)
array_merge($a, $b)
[...$a, ...$b]
count($a)
[$x, $y] = $a;
Functions
9function f(int $a): int {}
function f(int $a = 1) {}
function f(int ...$nums) {}
f(...$args)
f(name: 'Sam', age: 30)
$fn = fn($x) => $x + 1;
function () use ($x) {}
$fn = strlen(...);
function f(): never {}
Control flow
9if ($a) {} elseif ($b) {} else {}
$a ? $b : $c
$a ?: $b
match ($x) { 1, 2 => 'a', default => 'b' }
switch ($x) { case 1: break; }
foreach ($a as $k => $v) {}
for ($i = 0; $i < 10; $i++) {}
while ($cond) {}
break / continue
Classes & OOP
10class A extends B implements C {}
public function __construct(private int $id) {}
public readonly string $name;
public function f(): static {}
static::create()
$obj?->method()
abstract class A {}
trait T {} use T;
$obj instanceof A
A::class
Enums
9enum Status { case Active; case Draft; }
enum Status: string { case A = 'a'; }
Status::Active
Status::from('a')
Status::tryFrom('x')
Status::cases()
$status->value
$status->name
enum E { public function label() {} }
Error handling
9try {} catch (Throwable $e) {}
catch (TypeError | ValueError $e)
catch (Exception)
finally {}
throw new RuntimeException('x')
throw $e;
$x = $v ?? throw new Error();
$e->getMessage()
$e->getPrevious()
Attributes & modern
9#[Attribute] class Route {}
#[Route('/home')]
new ReflectionClass($x)
$ref->getAttributes()
json_encode($data)
json_decode($s, true)
array_is_list($a)
str_word_count($s)
$obj::class
No entry matches “:q”.
About PHP Cheat Sheet
This PHP cheat sheet condenses modern PHP into one searchable page: basics and types, strings, arrays, functions, control flow, classes and OOP, enums, error handling, and attributes and other modern features. Every row is a runnable snippet with a plain-English description.
It targets PHP 8.3+, so you will find the features that define current PHP — enums, readonly properties, constructor property promotion, named arguments, match expressions, arrow functions, nullsafe calls and attributes — alongside the everyday string and array functions you reach for constantly.
The page is free and fully client-side: search filters the rows as you type, the sticky section menu jumps you around the sheet, one click copies any snippet, and a print button turns it into a paper PHP reference.
How to use PHP Cheat Sheet
- Scan the table of contents — from Basics & types to Enums, Error handling and Attributes & modern.
- Type a function name or keyword into the search box to filter the whole sheet instantly.
- Jump to a section like Classes & OOP via the sticky sidebar navigation.
- Click any snippet or its copy icon to copy the PHP code to your clipboard.
- Hit Print if you want the entire reference on paper.