tipe-datadasartype-jugglingPemula3 mnt baca

Tipe Data

Kenali tipe data PHP: string, integer, float, boolean, array, dan null, plus jebakan type juggling.

Tipe data utama

php
<?php
$teks   = "Halo";      // string
$umur   = 17;          // integer
$tinggi = 170.5;       // float (desimal)
$lulus  = true;        // boolean
$hobi   = ["ngoding", "gaming"]; // array
$kosong = null;        // null (tidak ada nilai)

Cek tipe data dengan gettype() atau var_dump():

php
<?php
var_dump(gettype(17));      // string(7) "integer"
var_dump(is_string("halo")); // bool(true)
var_dump(is_null($kosong));  // bool(true)

Type juggling: PHP menebak-nebak

PHP otomatis mengubah tipe data saat dibutuhkan. Kadang membantu, kadang menjebak:

php
<?php
$hasil = "10" + 5;   // int(15), string "10" diubah jadi angka
$gabung = "10" . 5;  // string(3) "105", titik = gabung teks

var_dump(0 == "php");  // bool(true) !!! "php" diubah jadi 0
var_dump(0 === "php"); // bool(false), tipe juga dicek

Samakan tipe secara manual (casting)

php
<?php
$input = "17 tahun";
$umur = (int) $input; // 17, teks di belakang dibuang
var_dump($umur);

$teks = (string) 99;  // "99"
$bool = (bool) 1;     // true

Catatan teknis: Operator == hanya membandingkan nilai (dengan konversi tipe otomatis), sedangkan === membandingkan nilai dan tipe. Contoh terkenal: 0 == "php" bernilai true karena string non-numerik diubah jadi 0. Untuk perbandingan yang aman, biasakan memakai === dan !==.