@ işareti koymak gizlemek değil sadece boş ise geç demek.
if(@$bos['degisken']) ile if(isset($bos['degisken']))
aynıdır.
Aynı değildir. isset ile değişken tanımlanmışsa şart sağlanır. Değişkenin değeri boş olsa bile true döner.
@ işareti ile kullandığımızda değişkenin hem tanımlanmış olması gerekiyor hemde değerinin boş olmaması gerekiyor.
$a = '';
if(isset($a))
{
echo 'isset = true';
}
else
{
echo 'isset = false';
}
if(@$a)
{
echo '@ = true';
}
else
{
echo '@ = false';
}Bu örneği çalıştırırsanız farkı anlayabilirsiniz.