Php isset() unset() ve empty() Fonksiyonları

PHP

isset fonksiyonu, parametre olarak verilen değişkenin tanımlı olup olmadığını kontrol eder.

Örnek:

<?php

$degisken = "Celal";

if(isset($degisken)) {

echo "değişken tanımlanmış";

}
else
{
echo "tanımlı değişken bulunamadı.";
}

?>

Ekrandaki çıktı: değişken tanımlanmış

isset fonksiyonu $degisken değerinin içi boş bile olsa tanımlı bir değişken olduğu için TRUE değerini döndürür. Değişken hiç tanımlanmamış olsaydı FALSE değerini döndürecekti.

empty fonksiyonu isset fonksiyonunun tam tersini yapar. Bir değişkene değer atanmamışsa, veya değeri sıfır yada boş alfanümerik (null string) ise, doğru TRUE değerini döndürür.

Örnek:

<?php

$degisken = "";

if(empty($degisken))
{
	echo "değişken değeri boş veya geçersiz değer";
}

?>

Ekrandaki çıktı: değişken değeri boş veya geçersiz değer

unset fonksiyonu parametre olarak verilen değişkeni hafızadan silmek için kullanılır.

Örnek:

<?php

$degisken = "Celal";

unset($degisken);

?>

unset fonksiyonuna verdiğim $degisken ve içindeki Celal değeri silinmiş oldu.

13 Yorum

  1. Projelerimde sık sık kullanırdım empty fonksiyonlarını fakat geçen gün sorun yaşadım.

    Empty değişen dolu olduğu halde değer(0) true sonuç döndürdü.
    Halbuki değişkene 0 atanmıştı.

  2. isset fonksiyonu $degisken değerinin içi boş bile olsa tanımlı bir değişken olduğu için TRUE değerini döndürür. Değişken hiç tanımlanmamış olsaydı FALSE değerini döndürecekti.

    bu yazınızda hata var $degişken değeri boş olursa false döner

  3. @ömer

    Yukarıdaki kodları test edebilirsiniz. Herhangi bir hata yok.
    isset fonksiyonu değişkenin tanımlı olup olmadığını kontrol eder.
    Eğer değişken tanımlanmışsa içi boş da olsa dolu da olsa TRUE değerini döndürür.
    Detaylı bilgi için şu sayfayı inceleyebilirsiniz: http://tr2.php.net/isset

  4. Kısacası biz Formdaki inputtan gelen verileri içi boş mu dolumu diye baktırmak için issetmi kullanmamız gerekli yoksa emptymi daha uygun olur ?

  5. Php’de kendimi geliştirmeye çalışıyorum. Siteniz çok faydalı ancal isset fonksiyonu genellikle nerelerde kullanılır. Biraz açıklayabilir misiniz?

  6. gayet faydalı bir konu olmuş benim bir sorum daha olacak peki değişkenin için boş ise ekrana hiç birşey göstermeme durumunu nasıl yaparız?

  7. hocam bu kodda bole bi hata aldım
    <?php if(isset($_POST["gonder"])){

    $resimyolu = $_POST['resimyolu'];
    $emID = $_POST['emID'];

    if($resimyolu==""||$emID==""){ echo 'Lütfen tüm alanları doldurun!‘; }else{

    $kayit = mysql_query(“insert into urunresim(emID,resimyolu) values(‘$emID’,’$resimyolu’)”);

    echo “Resim Eklendi!“; } } ?>

    <?php if(isset($_POST['yukle'])){

    $kaynak = $_FILES["dosya"]["tmp_name"];
    $dosyaadi = $_FILES["dosya"]["name"];
    $dosyatipi = $_FILES["dosya"]["type"];
    $dboyut = $_FILES["dosya"]["size"];

    $hedef = "../upload/resimler";

    $uzanti = substr($dosyaadi, -4);

    $yeniad = substr(md5(uniqid(rand())), 0,10);

    $yeniresimadi = $yeniad.$uzanti;

    if(empty($_FILES['dosya']['name'])){ echo 'Resim yükleyebilmek için herhangi bir resim dosyasını seçmeniz gerekir!‘; }

    else{

    if($_FILES[‘dosya’][‘size’]>1024*1024){ echo ‘Resim yükleyemessin boyutu Küçük (500*500) Olmalı!‘; }

    else{

    if($dosyatipi!=”image/jpg”&&$dosyatipi!=”image/jpeg”&&$dosyatipi!=”image/png”&&$dosyatipi!=”image/gif”){ echo ‘Geçersiz Uzantı! İzin verilen uzantılar : .gif, .jpg, .png‘; }else{

    $yukle = move_uploaded_file($kaynak,$hedef.’/’.$yeniresimadi);

    echo “Resiminiz yüklenmiştir!“;
    echo “”;

    echo “Link $hedef/$yeniresimadi”;

    echo ““;

    } } } }?>

    Resim

    <input name="resimyolu" type="text" class="input-text" value="” size=”40″/>

    Resmin ekleneceği ürün (eklenmiş son 10 adet ürünü gösterir.)

    <option value="”>

    hata

    Notice: Undefined variable: hedef in C:\wamp\www\Emlak\yonetim\resimekle.php on line 165 Call Stack #TimeMemoryFunctionLocation 10.0007265224{main}( )..\resimekle.php:0

    böle bir hata aldım

  8. bunun valuesını yazınca hata verıyor hocam nasılyapıcamı bılmıyorum bı yardım edın
    <input name="resimyolu" type="text" class="input-text" value="” size=”40″/>

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir