PHP adalah bahasa dengan dynamic typing, tetapi tetap memiliki type system yang kaya: sembilan tipe data dasar, mekanisme konversi otomatis bernama type juggling, konversi manual bernama type casting, hingga type declaration modern seperti union dan intersection types. Memahami perilaku tiap tipe menentukan apakah kode Anda bekerja sesuai dugaan atau menyimpan bug halus. Section ini membahas tiap tipe secara mendalam lalu menutup dengan cara membaca dan menangani type error.

# Integers

Pelajari cara PHP menyimpan bilangan bulat, batas 64-bit, penulisan berbagai basis bilangan, dan perilaku pembagian.

Buka →
# Floating-Point Numbers

Pelajari cara kerja float PHP, jebakan presisi biner 0.1+0.2, perbandingan dengan toleransi, pembulatan, serta NAN dan INF.

Buka →
# Strings

Pelajari string sebagai tipe data PHP — array byte yang bisa diindeks, perilaku panjangnya, dan konversinya menjadi angka.

Buka →
# Booleans

Pelajari tipe boolean PHP, daftar lengkap nilai falsy, jebakan truthiness string, dan praktik perbandingan yang eksplisit.

Buka →
# null

Pelajari nilai null PHP, perbedaannya dengan variabel yang belum didefinisikan, operator ?? dan ?->, serta perilakunya dalam operasi.

Buka →
# Arrays

Pelajari array PHP sebagai ordered map — satu tipe untuk daftar dan pemetaan, lengkap dengan aturan konversi key-nya.

Buka →
# Objects

Pelajari object sebagai tipe data PHP — instance class, stdClass, casting array ke object, dan perilaku salinan berbasis referensi.

Buka →
# Type Juggling

Pelajari aturan konversi tipe otomatis PHP pada aritmetika, string numerik, perbandingan, dan null.

Buka →
# Type Casting

Pelajari cara mengonversi nilai antar tipe data secara eksplisit dengan type casting di PHP.

Buka →
# Type Checking

Pelajari cara memeriksa tipe data saat runtime dengan fungsi is_*, gettype(), dan get_debug_type().

Buka →
# Nullable Types

Pelajari cara mendeklarasikan tipe yang juga mengizinkan null dengan sintaks nullable types di PHP.

Buka →
# Union Types

Pelajari cara mendeklarasikan parameter dan nilai kembali yang menerima lebih dari satu tipe dengan union types.

Buka →
# Intersection Types

Pelajari cara mendeklarasikan tipe yang mewajibkan nilai memenuhi beberapa interface sekaligus dengan intersection types.

Buka →
# Literal Types

Pelajari cara menyatakan tipe yang hanya menerima satu nilai spesifik — dari true dan false yang berdiri sendiri hingga literal string lewat PHPDoc.

Buka →
# never dan void

Pelajari cara mendeklarasikan fungsi tanpa nilai balik dengan void dan fungsi yang sama sekali tidak pernah kembali dengan never.

Buka →
# Memahami Type Errors

Pelajari cara membaca pesan TypeError pada mode weak dan strict, menangkapnya dengan try-catch, serta menelusuri stack trace.

Buka →