Penggunaan fungsi ISNOTNULL pada PHP

Perbedaan PHP isset() vs. empty() vs. is_null()

Perbedaan PHP isset() vs. empty() vs. is_null() – Anda akan menggunakan variabel di hampir setiap program yang Anda tulis menggunakan PHP. Sebagian besar waktu variabel ini memiliki nilai, dan kami biasanya membuatnya dengan nilai awal. Namun, selalu ada kemungkinan bahwa beberapa variabel yang Anda gunakan tidak diinisialisasi. Ini dapat menghasilkan peringatan dari PHP tentang penggunaan variabel yang tidak ditentukan.

Penggunaan fungsi ISNOTNULL pada PHP

Ada banyak alasan untuk variabel tidak terdefinisi. Yang paling umum adalah bahwa Anda sebenarnya tidak mendefinisikan variabel atau Anda membuat kesalahan ejaan saat menggunakannya kembali di tempat lain. Ini hanya bug pemrograman. Namun, kemungkinan lain yang dapat menghasilkan variabel tidak terdefinisi adalah variabel tersebut telah didefinisikan secara kondisional.

Anda juga mungkin menemukan bahwa sebuah variabel memiliki nilai NULL. Ini juga dapat terjadi karena beberapa alasan. Misalnya, variabel mungkin belum diinisialisasi dengan nilai. Atau nilai null mungkin dikembalikan dari suatu fungsi untuk menandakan semacam kesalahan.

Bagaimanapun, menggunakan variabel sebelum didefinisikan atau ketika memiliki nilai nol dapat memiliki konsekuensi yang tidak diinginkan. Dalam tutorial ini, saya akan menunjukkan cara memeriksa apakah suatu elemen telah ditentukan dan melihat apakah elemen tersebut kosong atau nol.

Anda dapat menggunakan isset(), empty(), atau is_null() untuk memeriksa apakah salah satu atau semua kondisi tersebut benar atau salah.

Definisi

Mari kita mulai dengan beberapa definisi.

1. isset(): Anda dapat menggunakan isset() untuk menentukan apakah suatu variabel dideklarasikan dan berbeda dari null.
2. empty(): Digunakan untuk menentukan apakah variabel ada dan nilai variabel tidak bernilai false.
3. is_null(): Fungsi ini digunakan untuk memeriksa apakah suatu variabel adalah null.

PHP isset() vs. empty()

Seperti yang kita lihat dari definisi, isset() akan mengembalikan nilai true jika kita telah mendefinisikan variabel sebelumnya dan menetapkan nilainya ke sesuatu selain NULL. Ini dapat mencakup 0, string kosong, atau false. Di sisi lain, empty() akan mengembalikan nilai true setiap kali nilai variabel disetel ke sesuatu yang bernilai false—kami menyebutnya nilai “false”. Contoh nilai false termasuk 0, string kosong “” dan string “0”, array kosong, NULL, atau tentu saja boolean false.

Satu kesamaan antara isset() dan empty() adalah keduanya merupakan konstruksi bahasa dan oleh karena itu tidak dapat dipanggil menggunakan fungsi variabel.

Berikut kode yang menjelaskan perbedaan antara keduanya.

<?php
 
$fruit = '';
 
if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// Output:  Do you like ?
 
if(!empty($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output
 
?>

Perhatikan bahwa empty() dapat ditulis menggunakan fungsi isset() :

<?php
 
function my_empty($x) {
  return !isset($x) || $x == false
}
 
?>

Tentu saja, biasanya lebih mudah menggunakan fungsi built-in empty().

PHP isset() vs. is_null()

Fungsi is_null() mengembalikan nilai true jika nilai variabel telah diatur secara eksplisit ke NULL. Jika tidak, itu hanya mengembalikan false. Di sisi lain, isset() akan mengembalikan nilai true selama variabel didefinisikan dan nilainya bukan NULL.

Berikut adalah contoh dasar untuk menunjukkan perbedaan di antara mereka.

<?php
 
$fruit = NULL;
 
if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output
 
if(is_null($fruit)) {
    echo 'There is no fruit.';
}
// Output: There is no fruit.
 
?>

PHP empty() vs. is_null()

Fungsi empty() mengembalikan nilai true jika nilai variabel bernilai false. Ini bisa berarti string kosong, NULL, integer 0, atau array tanpa elemen. Di sisi lain, is_null() akan mengembalikan nilai true hanya jika variabel memiliki nilai NULL.

Berikut adalah contoh dasar untuk menunjukkan perbedaan di antara mereka.

<?php
 
$person = ['first_name' => 'Monty', 'last_name' => '', 'age' => '83', 'fav_movie' => NULL];
 
if(empty($person['last_name'])) {
    if(is_null($person['last_name'])) {
        echo 'The last name is set to NULL.';
    } else {
        echo 'The last name is probably an empty string.';
    }
}
// Output: The last name is probably an empty string.
 
if(is_null($person['fav_movie'])) {
    echo $person['first_name'].' did not specify a favorite movie.';
}
// Output: Monty did not specify a favorite movie.

Poin Penting untuk Diingat

Ada dua tips yang dapat Anda gunakan untuk menulis kode yang lebih ringkas dan menghindari kesalahan di masa mendatang.

  1. Tidak seperti empty() dan is_null(), Anda dapat meneruskan beberapa nilai ke isset() sekaligus untuk memeriksa secara bersamaan apakah ada yang tidak terdefinisi atau disetel ke NULL. Dalam hal ini, isset() hanya akan mengembalikan nilai true jika tidak ada nilai yang diteruskan adalah NULL.
  2. Jangan gunakan == untuk memeriksa apakah nilainya NULL. Ini akan memberikan false positive untuk nilai false seperti string kosong yang bernilai false.

Tutorial ini dengan cepat menjelaskan perbedaan antara isset(), empty(), dan is_null(). Mudah-mudahan, Anda sekarang dapat menentukan mana yang tepat untuk Anda gunakan dalam kode Anda. sumber

Terimakasih telah membaca artikel Perbedaan PHP isset() vs. empty() vs. is_null(). semoga bermanfaat ya.