Tipe Data PHP
Tipe data adalah jenis nilai yang memberi tahu interpreter bagaimana menafsirkan nilainya dan tipe operasi apa yang dapat digunakan untuk tipe data tersebut.
Misalnya, kita ingin menyimpan data nama seseorang, tentu tidak mungkin untuk menggunakan tipe data angka untuk menampung data tekstual, sebagai gantinya kita bisa menggunakan string yang secara khusus memang dirancang untuk data tekstual.
Selain itu, tipe data juga menentukan tipe operasi yang dapat dilakukan terhadap data tersebut, misalnya kita menggunakan operator aritmatika perkalian (*
) untuk mengalikan data tekstual seperti nama dikalikan dengan nama, ini tentu saja tidak masuk akal karena operator tersebut dibuat untuk tipe data angka.
Di PHP tipe data dikelompokkan ke dalam tiga kategori, yaitu tipe data scalar, compound, dan tipe data spesial.
Kita akan membahas secara detail untuk setiap tipe data di artikel terpisah, di sini kita akan menjelaskannya sekilas.
Berikut daftar tipe data yang ada di PHP:
Tipe Data Scalar
Scalar adalah tipe data yang nilainya tunggal.
Maksud dari tunggal di sini adalah tipe data ini hanya bisa menyimpan satu jenis nilai dalam satu waktu, tidak seperti tipe data compound seperti array yang dapat berisi beberapa tipe data scalar termasuk string, angka dan sebagainya dalam satu waktu.
Boolean
Boolean adalah tipe data PHP yang hanya memiliki nilai true
dan false
, ini biasanya digunakan untuk mengungkap nilai kebenaran.
Misalnya kita ingin membuat variabel yang menentukan lulus atau tidaknya seorang siswa, kita bisa menggunakan true
jika ya (lulus) atau false
jika tidak (tidak lulus).
Contoh:
<?php
$lulus = true;
var_dump($lulus); // bool(true)
String
String adalah tipe data yang dapat digunakan untuk data tekstual atau rangakaian karakter.
Tipe data string diawali dengan kutip tunggal atau ganda, kemudian sejumlah karakter, dan diakhiri dengan kutip tunggal atau ganda sesuai dengan kutip pertama atau pembuka.
Berikut contoh string dibuat menggunakan kutip ganda dan kutip tunggal.
<?php
$nama = "budi"; // kutip ganda
$pekerjaan = 'wiraswasta'; // kutip tunggal
var_dump($nama); // string(4) "budi"
var_dump($pekerjaan); // string(10) "wiraswasta"
Entah itu menggunakan kutip ganda atau kutip tunggal, keduanya dianggap valid, pilih salah satu dan gunakan secara konsisten.
Yang perlu diperhatikan di sini, jika kita menggunakan kutip ganda diawal string, kita juga harus mengakhirinya menggunakan kutip ganda tidak boleh kutip tunggal, begitu juga sebaliknya agar string dianggap valid.
Contoh berikut string yang tidak valid, kami menggunakan menggunakan kutip tunggal sebagai pembuka dan kutip ganda sebagai penutup, seharunya kutip penutup adalah kutip tunggal sesuai kutip pembuka.
<?php
// error
$nama = 'nama";
Integer
Integer adalah angka bilangan bulat (bukan pecahan) yang bisa positif, negatif, atau nol.
Contohnya, ini bilangan bulat: 3
, dan ini bilangan pecahan: 1.5
. Sederhananya, bilangan bulat tidak mengandung titik, sedangkan bilangan pecahan mengandung titik.
Di PHP bilangan bulat dapat ditulis dalam notasi desimal (basis 10), heksadesimal (basis 16), oktal (basis 8), atau biner (basis 2).
<?php
$a = 1234; // desimal normal
$b = 0x1A; // heksadesimal
$c = 0123; // oktal
$d = 0b11111111; // biner
var_dump($a); // int(1234)
var_dump($b); // int(26)
var_dump($c); // int(83)
var_dump($d); // int(255)
Floating Point
Floating point adalah angka bilangan pecahan (bukan bilangan bulat) yang juga dikenal sebagai double, float, real numbers (bilangan riil).
Sederhananya, jika kita menemukan angka yang mendangung titik, angka tersebut adalah floating point.
Dalam matematika bahasa Indonesia pemisah bilangan pecahan seringkali ditulis menggunakan koma, tapi dalam pemrograman harus ditulis sesuai dengan matematika dalam bahasa internasional atau bahasa Inggris yaitu menggunakan titik.
Contoh:
<?php
$nilai = 7.5;
var_dump($nilai); // float(7.5)
Tipe Data Compound
Compound adalah tipe data yang dapat mengandung beberapa nilai dengan tipe yang berbeda-beda dalam satu waktu, termasuk tipe scalar.
Array
Array adalah tipe data yang dapat menampung beberapa nilai dari tipe data lain termasuk scalar dan bahkan array lain dalam satu waktu.
Setiap nilai atau elemen di dalam array memiliki kunci, kunci ini dapat digunakan untuk mengakses setiap elemen.
Secara default kuncinya adalah angka atau indeks dari 0
untuk elemen pertama, 1
untuk elemen kedua, dan seterusnya, ini biasanya disebut sebagai array numerik (numeric).
Kunci ini juga dapat diubah menggunakan nama yang sesuai keinginan kita, ini biasanya disebut sebagai array asosiatif (associative).
Kita bisa membuat array menggunakan konstruktor bahasa array()
atau aray literal []
, setiap elemen dipisahkan dengan koma.
Contoh array numerik:
<?php
$siswa1 = [
"udin",
"ucup",
"encas"
];
// setara dengan
$siswa2 = array(
"udin",
"ucup",
"encas"
);
var_dump($siswa1);
// array(3) {
// [0]=>
// string(4) "udin"
// [1]=>
// string(4) "ucup"
// [2]=>
// string(5) "encas"
// }
var_dump($siswa2);
// array(3) {
// [0]=>
// string(4) "udin"
// [1]=>
// string(4) "ucup"
// [2]=>
// string(5) "encas"
// }
Untuk membuat array asosiatif, setiap elemen array dapat berisi nama kunci yang sesuai keinginan kita kemudian diikuti dengan tanda sama dengan lebih besar (=>
) diikuti dengan nilainya.
Contoh array asosiatif:
$siswa = [
"nama" => "udin",
"jenisKelamin" => "laki-laki",
"umur" => 17
];
// setara dengan
$siswa = array(
"nama" => "udin",
"jenisKelamin" => "laki-laki",
"umur" => 17
);
Untuk mengakses elemen array numerik kita bisa menggunakan nama variabel diikuti dengan angka indeks didalam kurung siku ($namaVariabel[index]
), contoh:
$siswa = [
"udin",
"ucup",
"encas"
];
echo $siswa[1]; // ucup
Sedangkan untuk mengakses elemen array asosiatif kita bisa menggunakan nama variabel diikuti dengan kunci elemen array ($namaVariabel['kunciElemen']
), contoh:
$siswa = [
"nama" => "udin",
"jenisKelamin" => "laki-laki",
"umur" => 17
];
echo $siswa['nama']; // udin
Object
Object adalah tipe data atau instance dari sebuah kelas. Umumnya dibuat menggunakan kata kunci new
diikuti dengan nama kelas.
Contoh dibawah kami membuat object siswa
dari kelas Siswa
:
<?php
class Siswa {
public $nama;
public function __construct(string $nama) {
$this->nama = $nama;
}
}
$siswa = new Siswa("ucup"); // buat object
var_dump($siswa);
// object(Siswa)#1 (1) {
// ["nama"]=>
// string(4) "ucup"
// }
Tipe Data Spesial
Tipe data spesial adalah jenis data khusus yang memiliki perilaku sedikit berbeda dengan tipe scalar dan compound.
NULL
NULL adalah tipe data yang mewakili variabel tanpa nilai. null
adalah satu-satunya nilai yang mungkin untuk tipe data NULL.
Sebuah variabel dianggap NULL jika diberi nilai null
, tidak diberi nilai, atau nilainya dihapus menggunakan fungsi unset()
.
Contoh:
<?php
$nilai = null;
var_dump($nilai); // NULL
Resource
Resource adalah tipe data khusus yang nilainya merujuk ke sumber daya eksternal.
Mari kita lihat contoh dibawah, fungsi fopen
berfungsi untuk membuka file atau URL, kami menggunakannya untuk membuka file yang berada di direktori yang sama dengan kode php yang akan dieksekusi.
Fungsi ini akan mengembalikan stream yang merujuk ke file sumber eksternal yaitu file text.txt
, 'r'
di parameter berikutnya menandakan bahwa file tersebut hanya diizinkan untuk dibaca saja.
Kemudian kami menampung nilai kembalian fungsi fopen()
ke dalam variabel $fileTest
variabel ini sekarang akan memiliki tipe data resource, kita bisa melihatnya menggunakan var_dump()
.
<?php
$fileTest = fopen('test.txt', 'r');
var_dump($filePointer); // resource(5) of type (stream)