Artikel

Perbedaan antara isset() vs empty() vs is_null() pada PHP

Diposting oleh I. B. Gd Pramana A. Putra pada 04 Jul 22, diperbarui pada 21 Jul 22

Pada bahasa pemrograman PHP terdapat beberapa built-in function yang mirip-mirip satu sama dengan lainnya, dan mungkin karena inilah bahasa pemrograman PHP dibenci oleh sebagian kalangan programmer.

Kali ini kita akan membahas perbedaan antara fungsi isset(), empty(), dan is_null(). Jika kita telaah, ketiga fungsi ini tampaknya memiliki kegunaan yang mirip. Namun benarkah begitu?

Method isset()

Jika variabel telah memiliki nilai, maka fungsi ini akan mengembalikan nilai boolean TRUE. Kebalikannya fungsi ini akan mengembalikan nilai boolean FALSE.

Sintaks dan Penulisan isset()

isset(variable, ….);

isset() menerima banyak variabel sebagai parameternya, hal ini bisa dilihat dari sintaks di atas yakni (variable, ....). Jika kita memberikan banyak variabel ke dalam parameter untuk dicek, maka fungsi ini hanya akan mengembalikan nilai TRUE apabila semua variabel tersebut telah memiliki nilai.

Contoh Penggunaan isset()

Kita akan melakukan penerapan fungsi isset() dengan menggunakan dua buah variabel, pada variabel pertama kita akan berikan nilai null, dan pada variabel kedua kita akan berikan nilai berupa string (dan tentu saja nilai yang diberikan bisa berupa tipe data apa saja selain null).

<?php
$nama = null;
$result = isset($nama); 

var_dump($result); // bool(false)

Pada snippet kode di atas, hasilnya adalah bool(false). Karena variabel nama kita berikan tipe data null yang dianggap tidak ada oleh interpreter PHP, maka itu variabel result yang menyimpan nilai isset($nama) bernilai FALSE.

Sementara jika kita memberi nilai pada variabel dengan tipe data lain contohnya:

<?php
$nama = "Pramana";
$result = isset($nama); 

var_dump($result); // bool(true)

Pada snippet kode di atas, hasilnya adalah bool(true). Karena variabel nama yang kita berikan berisi nilai tipe data string, maka itu dianggap memiliki nilai oleh interpreter PHP. Nilai apapun yang tersimpan pada variabel selain tipe data null, akan dianggap bernilai, dan fungsi isset() akan mengembalikan nilai TRUE.

Method empty()

empty() adalah built-in function PHP yang sering digunakan apakah suatu variabel memilik isi atau tidak. Fungsi ini mengembalikan nilai tipe data boolean TRUE/FALSE.

Sintaks dan Penulisan empty()

empty( $variable )

empty() hanya menerima satu parameter saja, seperti pada sintaks di atas.

Contoh Penggunaan empty()

Kita akan melakukan penerapan fungsi empty() dengan menggunakan dua buah variabel, pada variabel pertama kita akan memberikan nilai null, dan pada variabel kedua kita akan memberikan nilai berupa tipe data string.

<?php
$nama = null;
$result = empty($nama); 

var_dump($result); // bool(true)

Pada snippet kode di atas, nilai dari variabel result adalah TRUE. Mengapa demikian? Karena kita mengecek apakah apakah suatu variabel itu kosong atau tidak, dan null merepresentasikan kosong, maka itu hasil dari kode di atas mengembalikan nilai boolean TRUE.

Lantas bagaimana jika kita memberika nilai string untuk dicek dengan fungsi empty(), apakah akan bernilai FALSE? Well ini tergantung.

<?php
$nama = "";
$result = empty($nama); 

var_dump($result); // bool(true)

Pada snippet kode di atas, nilai dari variabel result adalah TRUE. Mengapa demikian, padahal kita telah memberikan nilai string dan bukan null, lalu?

Well, perhatikan nilai dari variabel nama di atas, kita memberikan nilai tipe data string akan tetapi string tersebut tidak memiliki nilai, dan ini dianggap kosong oleh interpreter PHP, maka itu nilai yang dikembalikan TRUE.

Hmm.. mengecoh sekali ya!

Lalu bagaimana jika kita memberikan nilai integer pada variabel ?

$angka = 0;
var_dump(empty($angka)); // bool(true)

Hasilnya juga sama yakni TRUE, mengapa? Karena 0 dianggap kosong saat kita memvalidasinya menggunakan fungsi empty(). Jika angka selain 0, maka nilai yang akan diberi adalah FALSE.

Method is_null()

is_null() adalah built-in function pada PHP untuk mengecek apakah suatu variabel bernilai null atau tidak. Fungsi ini akan mengembalikan nilai boolean TRUE/FALSE. Nilai TRUE akan diberikan jika variabel yang dicek bernilai null, sebaliknya nilai FALSE akan diberikan jika variabel yang dicek bernilai apapun selain null.

Sintaks dan Penulisan is_null()

is_null( $variable )

Method is_null() hanya menerima satu parameter saja.

Contoh Penggunaan is_null()

Kita akan melakukan penerapan fungsi is_null() dengan menggunakan dua buah variabel, pada variabel pertama kita akan memberikan nilai null, dan pada variabel kedua kita akan memberikan nilai berupa tipe data string.

<?php
$nama = null;
$result = is_null($nama); 

var_dump($result); // bool(true)

Pada snippet kode di atas, hasilnya adalah TRUE, karena variabel nama diisi dengan tipe data null.

<?php
$nama = "Pramana";
$result = is_null($nama); 

var_dump($result); // bool(false)

Sementara itu, pada snippet kode di atas, hasil yang diberikan adalah FALSE, karena variabel nama diisi dengan tipe data lain selain null.

Referensi:

Suka dengan artikel yang saya tulis ini? Traktir saya secangkir kopi susu yah! Saya merupakan Full-Stack Developer yang sangat senang berbagi pengetahuan sembari duduk di warung kopi dan menulis kode aplikasi Kodekativ.co dan berbagi artikel di platform ini:)

Dukung saya dengan · paypal · buymeacoffee · ko-fi · trakteer
Jawaban & Respon
    Belum ada komentar

Login dulu

Kamu harus login terlebih dahulu sebelum memberikan komentar pada pos ini.