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.
Pelajari cara PHP menyimpan bilangan bulat, batas 64-bit, penulisan berbagai basis bilangan, dan perilaku pembagian.
Buka → # Floating-Point NumbersPelajari cara kerja float PHP, jebakan presisi biner 0.1+0.2, perbandingan dengan toleransi, pembulatan, serta NAN dan INF.
Buka → # StringsPelajari string sebagai tipe data PHP — array byte yang bisa diindeks, perilaku panjangnya, dan konversinya menjadi angka.
Buka → # BooleansPelajari tipe boolean PHP, daftar lengkap nilai falsy, jebakan truthiness string, dan praktik perbandingan yang eksplisit.
Buka → # nullPelajari nilai null PHP, perbedaannya dengan variabel yang belum didefinisikan, operator ?? dan ?->, serta perilakunya dalam operasi.
Buka → # ArraysPelajari array PHP sebagai ordered map — satu tipe untuk daftar dan pemetaan, lengkap dengan aturan konversi key-nya.
Buka → # ObjectsPelajari object sebagai tipe data PHP — instance class, stdClass, casting array ke object, dan perilaku salinan berbasis referensi.
Buka → # Type JugglingPelajari aturan konversi tipe otomatis PHP pada aritmetika, string numerik, perbandingan, dan null.
Buka → # Type CastingPelajari cara mengonversi nilai antar tipe data secara eksplisit dengan type casting di PHP.
Buka → # Type CheckingPelajari cara memeriksa tipe data saat runtime dengan fungsi is_*, gettype(), dan get_debug_type().
Buka → # Nullable TypesPelajari cara mendeklarasikan tipe yang juga mengizinkan null dengan sintaks nullable types di PHP.
Buka → # Union TypesPelajari cara mendeklarasikan parameter dan nilai kembali yang menerima lebih dari satu tipe dengan union types.
Buka → # Intersection TypesPelajari cara mendeklarasikan tipe yang mewajibkan nilai memenuhi beberapa interface sekaligus dengan intersection types.
Buka → # Literal TypesPelajari cara menyatakan tipe yang hanya menerima satu nilai spesifik — dari true dan false yang berdiri sendiri hingga literal string lewat PHPDoc.
Buka → # never dan voidPelajari cara mendeklarasikan fungsi tanpa nilai balik dengan void dan fungsi yang sama sekali tidak pernah kembali dengan never.
Buka → # Memahami Type ErrorsPelajari cara membaca pesan TypeError pada mode weak dan strict, menangkapnya dengan try-catch, serta menelusuri stack trace.
Buka →