Itu tergantung apa yang Anda cari, jika Anda hanya ingin melihat apakah kosong, gunakan saja emptykarena ia memeriksa apakah sudah disetel juga, jika Anda ingin tahu apakah sesuatu sudah disetel atau tidak digunakan isset.
Empty memeriksa apakah variabel diset dan jika itu memeriksa untuk null, "", 0, dll
Isset cukup periksa apakah sudah disetel, bisa jadi apa saja yang bukan null
Dengan empty, hal-hal berikut dianggap kosong:
- "" (string kosong)
- 0 (0 sebagai bilangan bulat)
- 0,0 (0 sebagai pelampung)
- "0" (0 sebagai string)
- BATAL
- SALAH
- array () (array kosong)
- var $ var; (variabel dideklarasikan, tetapi tanpa nilai di kelas)
Dari http://php.net/manual/en/function.empty.php
Seperti yang disebutkan di komentar, kurangnya peringatan juga penting dengan empty ()
Kata Manual PHP
empty () adalah kebalikan dari (boolean) var, kecuali bahwa tidak ada peringatan yang dibuat saat variabel tidak disetel .
Mengenai isset
Kata Manual PHP
isset () akan mengembalikan FALSE jika menguji variabel yang telah disetel ke NULL
Kode Anda akan baik-baik saja seperti:
<?php
$var = '23';
if (!empty($var)){
echo 'not empty';
}else{
echo 'is not set or empty';
}
?>
Sebagai contoh:
$var = "";
if(empty($var)) // true because "" is considered empty
{...}
if(isset($var)) //true because var is set
{...}
if(empty($otherVar)) //true because $otherVar is null
{...}
if(isset($otherVar)) //false because $otherVar is not set
{...}