Der !
Charakter der logische "nicht" Operator. Es invertiert die boolesche Bedeutung des Ausdrucks.
Wenn Sie einen Ausdruck haben, der TRUE
ergibt, wird er mit !
vorbearbeitet, sodass er FALSE
und umgekehrt lautet.
$test = 'value';
var_dump(isset($test)); // TRUE
var_dump(!isset($test)); // FALSE
isset()
TRUE
kehrt, wenn die gegebene Variable in dem aktuellen Bereich mit einem nicht-Null-Wert festgelegt ist.
empty()
TRUE
kehrt, wenn die gegebene Variable nicht in dem aktuellen Bereich definiert ist, oder wenn es mit einem Wert definiert ist, die „leer“ betrachtet wird. Diese Werte sind:
NULL // NULL value
0 // Integer/float zero
'' // Empty string
'0' // String '0'
FALSE // Boolean FALSE
array() // empty array
Je nach PHP-Version kann ein Objekt ohne Eigenschaften auch als leer angesehen werden.
Das Ergebnis davon ist, dass isset()
und empty()
fast ergänzen sich (sie die entgegengesetzten Ergebnisse zurück), aber nicht ganz, wie empty()
eine zusätzliche Kontrolle über den Wert der Variablen durchführt, isset()
einfach überprüft, ob sie definiert ist .
Betrachten Sie das folgende Beispiel:
var_dump(isset($test)); // FALSE
var_dump(empty($test)); // TRUE
$test = '';
var_dump(isset($test)); // TRUE
var_dump(empty($test)); // TRUE
$test = 'value';
var_dump(isset($test)); // TRUE
var_dump(empty($test)); // FALSE
'if (isset ($ test) === false)' und 'if (isset ($ test)!)' Sind gleichwertig. – MetalFrog
Vorschlag: Lesen Sie die Dokumente auf [empty] (http://us.php.net/manual/en/function.empty.php) und [isset] (http://us.php.net/manual/en/ function.isset.php), um ein Gefühl dafür zu bekommen, wie sie funktionieren, Unterschiede usw. –
@jprofit: tatsächlich scheint der logische Negationsoperator in dieser Liste zu fehlen. Sie könnten diese Frage wahrscheinlich als Referenz für '!' Hinzufügen. –