isset

(PHP 4, PHP 5, PHP 7)

issetDetermină dacă o variablă este stabilită și nu este NULL

Descrierea

isset ( mixed $var [, mixed $... ] ) : bool

Determină dacă o variablă este stabilită și nu este NULL.

Dacă o variabilă a fost eliminată cu unset(), ea nu va mai fi stabilită. isset() va întoarce FALSE la testarea unei variabile care a fost stabilită în NULL. De asemenea observați că caracterul nul ("\0") nu este echivalent cu constanta PHP NULL.

Dacă se furnizează mai mulți parametri, atunci isset() va întoarce TRUE numai dacă toți parametrii sunt stabiliți. Evaluarea se petrece de la stânga spre dreapta și se încheie de îndată ce se întâlnește o variabilă "ne-stabilită".

Parametri

var

Variabila ce va fi verificată.

...

O altă variabilă ...

Valorile întoarse

Întoarce TRUE dacă var există și are o valoare diferită de NULL. FALSE în caz contrar.

Istoricul schimbărilor

Versiune Descriere
5.4.0

Verificarea deplasamentelor non-numerice în șiruri de caractere acum întoarce FALSE.

Exemple

Example #1 Ecemple isset()

<?php

$var 
'';

// Aceasta va evalua în TRUE, de aceea textul va fi afișat.
if (isset($var)) {
    echo 
"This var is set so I will print.";
}

// În următoarele exemple vom utiliza var_dump pentru a afișa
// valoarea întoarsă de isset().

$a "test";
$b "anothertest";

var_dump(isset($a));      // TRUE
var_dump(isset($a$b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a$b)); // FALSE

$foo NULL;
var_dump(isset($foo));   // FALSE

?>

Aceasta de asemenea funcționează și pentru elemente din tablouri:

<?php

$a 
= array ('test' => 1'hello' => NULL'pie' => array('a' => 'apple'));

var_dump(isset($a['test']));            // TRUE
var_dump(isset($a['foo']));             // FALSE
var_dump(isset($a['hello']));           // FALSE

// Cheia 'hello' este egală cu NULL, de aceea este considerată nesetată
// Dacă doriți să verificați cheile cu valori NULL, atunci încercați:
var_dump(array_key_exists('hello'$a)); // TRUE

// Verificarea valorilor la nivele mai adânci în tablou
var_dump(isset($a['pie']['a']));        // TRUE
var_dump(isset($a['pie']['b']));        // FALSE
var_dump(isset($a['cake']['a']['b']));  // FALSE

?>

Example #2 isset() cu deplasamente în șiruri de caractere

PHP 5.4 modifică modul cum funcționează isset() când îi sunt transmise deplasamente în șiruri de caractere.

<?php
$expected_array_got_string 
'somestring';
var_dump(isset($expected_array_got_string['some_key']));
var_dump(isset($expected_array_got_string[0]));
var_dump(isset($expected_array_got_string['0']));
var_dump(isset($expected_array_got_string[0.5]));
var_dump(isset($expected_array_got_string['0.5']));
var_dump(isset($expected_array_got_string['0 Mostel']));
?>

Exemplul de mai sus va afișa în PHP 5.3:

bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Exemplul de mai sus va afișa în PHP 5.4:

bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)

Note

Avertizare

isset() funcționează numai cu variabile, deoarece la furnizarea a orice altceva se va genera o eroare de interpretare. Pentru a verifica dacă constantele sunt stabilite utilizați funcția defined().

Notă: Deoarece aceasta este o construcție a limbajului și nu o funcție, ea nu poate fi apelată utilizând funcții de operare cu variabile .

Notă:

La utilizarea isset() asupra proprietăților inaccesibile ale obiectelor, va fi apelată metoda de supraîncărcare __isset(), dacă este declarată.

A se vedea și