Aslında isset ve empty fonksiyonları her ne kadar birbirine benziyormuş gibi görünse de aslında aralarında çok önemli bir fark vardır. Bunu kolayca ayırt edebiliriz. Az önce bana gelen bir soru üzerine bunu bloğumda yazıp açığa kavuşturmak istedim

Peki nedir bu fark?

isset fonksiyonu kendisine belirtilen bir degişkenin var olup olmadığını kontrol ederken empty fonksiyonu ise kendisine verilen bir değişkenin içeriğinin boş olup olmadığına bakar.

Her ne kadar aynı işi yapıyolar gibi algılansa da arasındaki fark budur. Aşağıda birer örnekle açıklayalım.

isset fonksiyonuna örnek:

< ?php
if (isset($degisken)) {
	echo '\$degisken degişkeni yaratılmış';
} else {
	echo '\$degisken değişkeni yaratılmamış';
}
?>

evet bu kod parçacığını çalıştıracak olursanız ekranınızda else kısmı dönecektir. çünkü php scriptimizde $degisken adlı bir değişken yok çünkü. if koşulundan önce bir $değişken tanımlarsanız if kısmı döncektir.

empty fonksiyonuna örnek:

< ?php
if (empty($degisken)) {
	echo '\$degisken içeriği boş';
} else {
	echo '\$degisken içeriği boş değil';
}
?>

Bu kod parçaçığı çalıştırıldığında ise empty fonksiyonu $degisken adli değişkenin var olup olmadığıyla ilgilenmiyor sadece o değişkenin içeriğinin dolu ya da boş olduğuna bakıyor. Bu durumda yukarıdaki kod parçacığı çalıştırıldığında ekrana $degisken içeriği boş çıktısını verecektir.

Evet bu kadar :)