NongkiNgopi.com – Tipe data pada PHP adalah klasifikasi yang memiliki karakteristik sehingga dapat menjadi pembeda antara satu data dengan data lainnya. PHP tidak memiliki definisi tipe data eksplisit, tetapi tipe variabel ditentukan oleh tipe nilai yang diberikan atau oleh tipe yang di-cast. Terdapat beberapa jenis tipe data pada PHP, yaitu:
Jenis-jenis Tipe Data
- Null
Null dapat diberikan pada variabel dan merepresentasikan variabel tanpa nilai. Variabel yang diberikan nilai null akan dihapus dari memori oleh garbage collector.
$foo = null;
- Boolean
Boolean adalah tipe data paling sederhana dengan hanya dua nilai yang mungkin, yaitu true dan false. Boolean dapat digunakan untuk mengontrol alur kode.
$foo = true;
$bar = false;
- Integer
Integer adalah bilangan bulat positif atau negatif. Ukuran integer tergantung pada platform. PHP tidak mendukung integer yang tidak bertanda.
$foo = -3; // negatif
$foo = 0; // nol (juga dapat null atau false (sebagai boolean))
$foo = 123; // positif desimal
$bar = 0123; // oktal = 83 desimal
$bar = 0xAB; // heksadesimal = 171 desimal
$bar = 0b1010; // biner = 10 desimal
- Float
Float adalah bilangan desimal.
$foo = 1.23;
$foo = 10.0;
$bar = -INF;
$bar = NAN;
- String
String adalah kumpulan karakter. String dapat diindeks untuk mengembalikan karakter-karakternya.
$foo = "bar";
echo $foo[0]; // mencetak 'b', karakter pertama dari string di $foo
- Array
Array adalah kumpulan nilai. Array dapat diindeks dengan integer dan diurutkan berdasarkan indeks, dengan elemen pertama berada pada indeks 0. Array juga dapat diindeks dengan kunci selain indeks integer. Dalam PHP, semua array adalah array asosiatif di balik layar, tetapi ketika kita merujuk pada ‘array asosiatif’, kita biasanya mengacu pada array yang berisi satu atau lebih kunci yang bukan integer.
$foo = array(1, 2, 3); // array integer
$bar = ["A", true, 123 => 5]; // sintaks singkat array, PHP 5.4+
echo $bar[0]; // mengembalikan "A"
echo $bar[1]; // mengembalikan true
echo $bar[123]; // mengembalikan 5
echo $bar[1234]; // mengembalikan null
$array = array();
$array["foo"] = "bar";
$array["baz"] = "quux";
$array[42] = "hello";
echo $array["foo"]; // mengembalikan "bar"
echo $array["bar"]; // mengembalikan "quux"
echo $array[42]; // mengembalikan "hello"
- Object
Object adalah sebuah instance dari sebuah class. Variabel dan method dari object dapat diakses dengan operator ->.
$foo = new stdClass(); // membuat objek baru dari class stdClass, yang merupakan class kosong yang telah ditentukan sebelumnya
$foo->bar = "baz";
echo $foo->bar; // mengembalikan "baz"
// atau kita dapat mengubah array menjadi objek:
$quux = (object) ["foo" => "bar"];
echo $quux->foo; // mengembalikan "bar"
- Resource
Variabel resource menyimpan handle khusus untuk file yang dibuka, koneksi database, stream, area kanvas gambar, dan sejenisnya.
$fp = fopen('file.ext', 'r'); // fopen() adalah fungsi untuk membuka file pada disk sebagai resource.
var_dump($fp); // mengembalikan resource(2) of type (stream)
Konversi Tipe Data pada PHP
Tipe data pada variabel di dalam PHP dapat dikonversi menjadi tipe data yang lain baik secara implisit (otomatis) maupun eksplisit (manual). Contoh konversi tipe data pada PHP:
$foo = "123"; // string
$bar = $foo + 0; // integer
$baz = (int) $foo; // integer
$quux = (string) $bar; // string
Pada contoh di atas, variabel $foo
awalnya memiliki tipe data string. Kemudian, variabel $bar
diberikan nilai $foo + 0
, yang secara implisit mengkonversi $foo
menjadi integer. Variabel $baz
diberikan nilai (int) $foo
, yang secara eksplisit mengkonversi $foo
menjadi integer. Variabel $quux
diberikan nilai (string) $bar
, yang secara eksplisit mengkonversi $bar
menjadi string.