Lembar Contekan PHP
Referensi PHP 8.3+ yang dapat dicari dan dicetak — sintaks, string, array, fungsi, kelas, enum, atribut, dan fitur modern. Gratis.
Dasar & tipe
10declare(strict_types=1);
Menerapkan pemeriksaan tipe skalar ketat
$x = 1;
Variabel diawali tanda dolar
const MAX = 100;
Konstanta saat kompilasi
gettype($x)
Mendapatkan tipe sebuah nilai
(int) $x
Cast ke integer
is_int($x)
Helper pemeriksa tipe (is_string, ...)
int|string $x
Deklarasi tipe union
?string $x
Tipe nullable (string atau null)
$a ?? 'default'
Operator null coalescing
$a ??= 'default'
Tetapkan hanya jika null
String
11"Hello $name"
Tanda kutip ganda menginterpolasi variabel
'literal $x'
Tanda kutip tunggal bersifat literal
$a . $b
Menggabungkan string
strlen($s)
Panjang byte sebuah string
str_contains($s, 'a')
Memeriksa substring
str_starts_with($s, 'a')
Memeriksa prefix
substr($s, 0, 3)
Mengambil bagian dari string
str_replace('a', 'b', $s)
Mengganti semua kemunculan
explode(',', $s)
Memecah menjadi array
sprintf('%05.2f', $n)
Output string terformat
trim($s)
Menghapus spasi di sekeliling
Array
11$a = [1, 2, 3];
Literal array terindeks
$a = ['k' => 'v'];
Array asosiatif
array_map(fn($x) => $x * 2, $a)
Mengubah setiap elemen
array_filter($a, fn($x) => $x > 0)
Menyimpan elemen yang cocok
array_reduce($a, $fn, 0)
Mereduksi menjadi satu nilai
in_array($v, $a, true)
Pemeriksaan nilai ketat
array_keys($a)
Mendapatkan semua kunci
array_merge($a, $b)
Menggabungkan array
[...$a, ...$b]
Spread/menggabungkan array
count($a)
Jumlah elemen
[$x, $y] = $a;
Destructuring array
Fungsi
9function f(int $a): int {}
Parameter dan return bertipe
function f(int $a = 1) {}
Nilai parameter default
function f(int ...$nums) {}
Parameter variadic
f(...$args)
Menyebar argumen
f(name: 'Sam', age: 30)
Argumen bernama
$fn = fn($x) => $x + 1;
Arrow function (otomatis menangkap scope)
function () use ($x) {}
Closure yang menangkap variabel
$fn = strlen(...);
Sintaks callable kelas satu
function f(): never {}
Tidak pernah return (throw atau exit)
Alur kontrol
9if ($a) {} elseif ($b) {} else {}
Cabang kondisional
$a ? $b : $c
Ekspresi ternary
$a ?: $b
Ternary singkat (fallback falsy)
match ($x) { 1, 2 => 'a', default => 'b' }
match ketat berbasis ekspresi
switch ($x) { case 1: break; }
Cabang banyak arah longgar
foreach ($a as $k => $v) {}
Mengiterasi kunci dan nilai
for ($i = 0; $i < 10; $i++) {}
Loop terhitung
while ($cond) {}
Loop selama kondisi terpenuhi
break / continue
Keluar atau lewati iterasi loop
Kelas & OOP
10class A extends B implements C {}
Pewarisan dan interface
public function __construct(private int $id) {}
Promosi properti konstruktor
public readonly string $name;
Immutable setelah inisialisasi
public function f(): static {}
Mengembalikan tipe late-bound
static::create()
Late static binding
$obj?->method()
Pemanggilan metode null-safe
abstract class A {}
Tidak bisa diinstansiasi langsung
trait T {} use T;
Kode horizontal yang dapat dipakai ulang
$obj instanceof A
Pemeriksaan tipe saat runtime
A::class
String nama kelas terkualifikasi penuh
Enum
9enum Status { case Active; case Draft; }
Enumerasi murni
enum Status: string { case A = 'a'; }
Backed enum (string/int)
Status::Active
Merujuk case enum
Status::from('a')
Membangun dari nilai backing
Status::tryFrom('x')
Mengembalikan null jika tidak valid
Status::cases()
Array semua case
$status->value
Nilai backing sebuah case
$status->name
Nama case
enum E { public function label() {} }
Enum dapat memiliki metode
Penanganan error
9try {} catch (Throwable $e) {}
Menangkap error dan exception
catch (TypeError | ValueError $e)
Menangkap beberapa tipe
catch (Exception)
catch tanpa penangkapan (tanpa variabel)
finally {}
Selalu berjalan setelah try/catch
throw new RuntimeException('x')
Melempar exception
throw $e;
Melempar ulang exception yang ditangkap
$x = $v ?? throw new Error();
Melempar sebagai ekspresi
$e->getMessage()
Membaca pesan error
$e->getPrevious()
Mendapatkan exception berantai
Atribut & modern
9#[Attribute] class Route {}
Mendeklarasikan atribut kustom
#[Route('/home')]
Menerapkan atribut ke target
new ReflectionClass($x)
Memeriksa kelas via reflection
$ref->getAttributes()
Membaca atribut yang dideklarasikan
json_encode($data)
Menserialkan ke JSON
json_decode($s, true)
Mendekode JSON menjadi array
array_is_list($a)
true jika kunci 0..n berurutan
str_word_count($s)
Menghitung kata dalam string
$obj::class
Nama kelas dari sebuah instance
Tidak ada entri yang cocok dengan “:q”.
Butuh bantuan?
Menemukan masalah dengan alat ini? Beri tahu tim kami.