isset() és empty() függvény

    • Az isset() függvény, egy nyelvi szerkezet.
    • A keresett változó létezését, azaz beállítottságát ellenőrzi.
    • A keresett változó létezik, igaz (TRUE) értéket ad vissza. Nem létezik vagy megszünt, hamis (FALSE) értékkel tér vissza.
    • Ha az ellenőrzött változó értéke NULL, akkor is hamis (FALSE) értékkel tér vissza.
    • A NULL bájt ("\0") nem egyezik meg a PHP NULL konstans értékével.

    • Az empty() nem egy függvény, hanem egy nyelvi konstrukció.
    • Megvizsgálja adott változó, tartalmát. ( Van vagy nics tartalma. )
    • Nem hívható meg, a változó változók lehetőség felhasználásának segítségével.
    • Kizárólag, változók közvetlen értékeivel dolgozik, minden egyéb esetben hibát generál.
    • Az empty() függvény (boolean) var ellentétje, kivéve hogy nem kapunk figyelmeztetést, ha a változó nincs beállítva.
    • Üresnek számítanak:
      $valtozo; $valtozo=""; $valtozo=0; $valtozo="0"; $valtozo=NULL; $valtozo=FALSE; $valtozo=array();

isset() szemléltetése.

Változó létezik = true --- Változó nem létezik = false
$a = "teszt";      $b = 12;      $c = NULL;

echo '$a vizsgálat eredménye = '.isset($a).'<br>';                // TRUE
echo '$b vizsgálat eredménye = '.isset($b).'<br>';                // TRUE
echo '$a,$b vizsgálat eredménye = '.isset($a,$b).'<br>';      // TRUE

unset ($a);   // Töröljük $a változót.

echo '$a vizsgálat eredménye = '.isset($a).'<br>';                // FALSE
echo '$b vizsgálat eredménye = '.isset($b).'<br>';                     // TRUE
echo '$a,$b vizsgálat eredménye = '.isset($a,$b).'<br>';      // FALSE

echo '$c vizsgálat eredménye = '.isset($c);                           // FALSE
Az isset()
programunk eredménye:


$a vizsgálat eredménye = 1
$b vizsgálat eredménye = 1
$a $b vizsgálat eredménye = 1

$a vizsgálat eredménye =
$b vizsgálat eredménye = 1
$a $b vizsgálat eredménye =

$c vizsgálat eredménye =

empty() szemléltetése.

Van érték = false --- Nincs érték = true
$a = "teszt";      $b = 12;      $c = NULL;

echo '$a vizsgálat eredménye = '.empty($a).'<br>';                // FALSE
echo '$b vizsgálat eredménye = '.empty($b).'<br>';                // FALSE

unset ($a);   // Töröljük $a változót.

echo '$a vizsgálat eredménye = '.empty($a).'<br>';                // TRUE
echo '$b vizsgálat eredménye = '.empty($b).'<br>';                     // FALSE

echo '$c vizsgálat eredménye = '.empty($c);                       // TRUE
Az empty()
programunk eredménye:


$a vizsgálat eredménye =
$b vizsgálat eredménye =

$a vizsgálat eredménye = 1
$b vizsgálat eredménye =

$c vizsgálat eredménye = 1


Ezeket a függvényeket, nem szemléltetésre alkalmazzuk.

Gyakorlatban mindegyiket, feltételek meghatározásához alkalmazzuk: if(feltétel) --- feltétel = true vagy false.
- isset() bármikor alkalmazható. (Változó létezik vagy nem létezik.)
- empty() értelme akkor van, ha változó létezik.
Külön-külön is, alkalmazhatjuk mindegyiket.


Az isset() és az empty() függvények
alkalmazása, összevonással.

1. Példa. Keresett változó, nem létezik.
<?php
//  $xy = 5;         // Letíltva! Nem létezik. 
                // Változó létezésének vizgálata.
if (isset($xy) ) { echo 'Keresett változo létezik. <br>';
                  // Változó létezik, akkor a tartalmát ellenőrízzük.
          if (empty($xy) ) { echo 'Értéke = üres vagy nincs beállítva, <br>'; }
          else {  echo 'Értéke = '.$xy.' <br>'; }
}
else {echo'Keresett változó, nem létezik.';}
?>
Programunk eredménye:

Keresett változó, nem létezik.


2. Példa. Keresett változó létezik.
Oldjuk fel a letíltást azon változónál, melyet tesztelni akarunk.
<?php
//  $xy=NULL;      // Változó NULL értékkel.   Így, változó nem létezik.
//  $xy="";            // Változó érték nélkül.    Létezik,  értéke = üres.
//  $xy=0;               // Változó értéke 0-a.      Létezik,  értéke = üres.
//  $xy='0';            // Változó értéke '0'-a.    Létezik,  értéke = üres.
$xy = 5;       // Változó létezik,  értéke = 5;

            // Változó létezésének vizgálata.
if (isset($xy) ) { echo 'Keresett változo létezik. <br>';
                 // Változó létezik, akkor a tartalmát ellenőrízzük.
          if (empty($xy) ) { echo 'Értéke = üres vagy nincs beállítva, <br>'; }
          else {  echo 'Értéke = '.$xy.' <br>'; }
}
else {echo'Keresett változó, nem létezik.';}
?>
Programunk eredménye:

Keresett változo létezik.
Értéke = 5


3. Példa. Keresett változó nem létezik,
akkor itt, létrehozzuk.
<?php
     // Ellenőrizzük változó létezését.
if(isset($xv)) {  echo 'Változó létezik.<br>';}
else  {echo 'Változó nem létezik.<br>';}

     // Nem létezik, akkor itt, létrehozzuk.
if(isset($xv) !== true) { $xv=10; }

     // Ismét ellenőrizzük, változó létezését.
if(isset($xv)) {  echo 'Változó létezik.<br>';}
else  {echo 'Változó nem létezik.<br>';}
?>
Programunk eredménye:

Változó nem létezik.






Változó létezik.
Vagy így:
<?php
     // Ellenőrizzük változó létezését.
if(isset($xv)) {  echo 'Változó létezik.<br>';}
else  {echo 'Változó nem létezik.<br>';   $xv=10; }

     // Ismét ellenőrizzük, változó létezését.
if(isset($xv)) {  echo 'Változó létezik.<br>';}
else  {echo 'Változó nem létezik.<br>';}
?>
Programunk eredménye:


Változó nem létezik.



Változó létezik.


Űrlap feldolgozáshoz.
Az űrlapról érkezhető adatokat,
be kell vezetni, azaz, indexelni kell. ( empty() )

Ha az űrlapmezők value értéke üres, azaz, adat nem lett beírva.
Már az űrlap elkűldése előtt vagy elküldéskor, hibajelzést kapunk, ha nem indexeljük a várható változókat.
Példák hibajelzésre:
- Notice: Undefined index: adat1 in ...... on line xx
- Notice: Undefined index: adat2 in ...... on line xx
- Notice: Undefined index: adat3 in ...... on line xx

Űrlap teszt minták.
Adatokat nem indexeljük Elküldés előtti eredmény, ez lesz.
Az xxxxxx-ek helyére írjuk, feldolgozó fájl nevét.
<form action="xxxxxx.php" method="POST">
Adat1 = <input type='text' name='adat1'  id='adat1' value='' size="3"> <br>
Adat2 = <input type='text' name='adat2'  id='adat2' value='' size="3"> <br>
Adat3 = <input type='text' name='adat3'  id='adat3' value='' size="3"> <br>
<input type='submit' value="Küldés. Katt ide.">
</form>

<?php
  $adat1=$_POST['adat1'];
  $adat2=$_POST['adat2'];
  $adat3=$_POST['adat3'];
// ---------------------------------------------------------
  echo'Adat 1 = '.$adat1.'<br>';  
  echo'Adat 2 = '.$adat2.'<br>';  
  echo'Adat 3 = '.$adat3.'<br>';
?>
Adat1 =  
Adat2 =  
Adat3 =  

Feldolgozó PHP program: Űrlap adatok: Notice: Undefined index: adat1 in X:\xxxxxxx.php on line xxx Notice: Undefined index: adat2 in X:\xxxxxxx.php on line xxx Notice: Undefined index: adat3 in X:\xxxxxxx.php on line xxx Adat 1 = Adat 2 = Adat 3 =

Adatokat indexeljük. empty() Elküldés előtti eredmény, ez lesz. Hibajelzést nem kapunk.
<form action="xxxxxx.php" method="POST">
Adat1 = <input type='text' name='adat1'  id='adat1' value='' size="3"> <br>
Adat2 = <input type='text' name='adat2'  id='adat2' value='' size="3"> <br>
Adat3 = <input type='text' name='adat3'  id='adat3' value='' size="3"> <br>
<input type='submit' value="Küldés. Katt ide.">
</form>

<br>Feldolgozó PHP program eredménye:<br>
Űrlap adatok:<br>

<?php
// Az űrlapról érkezhető adatokat,
//  be kell vezetni, azaz, indexelni kell.
 if(empty($_POST['adat1']))  { $_POST['adat1']=""; }
 if(empty($_POST['adat2']))  { $_POST['adat2']=""; }
 if(empty($_POST['adat3']))  { $_POST['adat3']=""; }
  // ---------------------------------------------------------
  $adat1=$_POST['adat1'];
  $adat2=$_POST['adat2'];
  $adat3=$_POST['adat3'];
  // ---------------------------------------------------------  
  echo'Adat 1 = '.$adat1.'<br>';  
  echo'Adat 2 = '.$adat2.'<br>';  
  echo'Adat 3 = '.$adat3.'<br>';
?>
Bal oldalon leírtak eredménye.

Tesztelhető űrlap.

Adat1 =
Adat2 =
Adat3 =






Feldolgozó PHP program eredménye:
Űrlap adatok:

Adat 1 =
Adat 2 =
Adat 3 =