Einer der häufigsten Fehler in der PHP Programmierung ist, das Arbeiten mit Variablen, die nicht deklariert sind. Man hat in PHP die Möglichkeit, mit der Funktion isset() zu prüfen, ob eine Variable deklariert ist.
Dadurch kann man nach der Überprüfung mit isset() eine Variable in PHP Script bekannt machen. Sie finden in dem nachfolgenden Abschnitt, mehrere Beispiele, wie sie mit isset() das Definieren von Variablen realisieren können.
Beispiel 1:
<?php
/*
* Created on 12.09.2009 by Nico Schubert
*/
/**
* Eine Variable setzen, damit
* wir keinen Fehler erzeugen.
*/
if (!isset($test)) $test = '';
$test .= 'Das ist ein Test.';
echo $test;
/**
* Die Ausgabe währe: Das ist ein Test
*/
/**
* Würden wir mit isset() nicht prüfen, ob
* $test gesetzt ist, würden wir ein
* Fehler erzeugen der so lauten aussieht:
* Notice: Undefined variable: test
*/
/**
* Wenn wir $_POST oder $_GET Variablen
* Prüfen möchten mit isset() müsste das
* Beispiel so aussehen.
*
* Beispiel für $_POST
*/
if (!isset($_POST['test'])) $_POST['test'] = '';
echo $_POST['test'];
/**
* Beispiel für $_GET
*/
if (!isset($_GET['test'])) $_GET['test'] = '';
echo $_GET['test'];
/**
* Häufig kommt es vor, das wir mit $_GET
* eine ID Nummer übergeben, da könnten wir
* unsere IF Anweisung sinvoll erweitern.
*
* Hier ein Beispiel:
*/
if (!isset($_GET['id'])) {
/**
* Wenn $_GET['id'] nicht übergeben
* wurde, arbeiten wir mit 0 weiter und
* fangen dies ab!
*/
$_GET['id'] = '0';
} else {
/**
* Wenn $_GET['id'] übergeben wurde,
* prüfen wir, ob dies eine Zahl ist.
*
* Sollte $_GET['id'] zb: a1 sein,
* wird die Variable mit 0 befüllt.
*/
$_GET['id'] = sprintf("%d", $_GET['id']);
}
echo $_GET['id'];
?>
Erläuterung:
Dieser Code besteht aus zwei verschiedenen Teilen. Im ersten Teil werden die Variablen $test definiert und gesetzt, um einen Fehler zu vermeiden. Der Wert $test wird dann mit dem String „Das ist ein Test“ erweitert und die Ausgabe auf dem Bildschirm angezeigt.
Der zweite Teil des Codes beschäftigt sich mit der Prüfung von Variablen mit isset(). Wenn wir $_POST oder $_GET Variablen prüfen möchten, müssen wir isset() verwenden. Beispielsweise wird bei $_POST['test'] überprüft, ob diese Variable gesetzt ist und wenn nicht, wird sie auf '' (ein leerer String) gesetzt.
Ein weiteres Beispiel ist die Prüfung von $_GET Variablen. Wenn wir z. B. eine ID Nummer erhalten, müssen wir überprüfen, ob sie gesetzt ist. Wenn sie nicht gesetzt ist, wird die Variable auf „0“ gesetzt. Anderenfalls wird überprüft, ob es sich dabei um eine Zahl handelt und die Variable auf eine Zahl formatiert.
Beispiel 2:
<?php
$myArray = array("This", "is", "an", "array");
if (isset($myArray)) {
echo "Array ist gesetzt";
}
?>
Erklärung:
Der oben stehende PHP-Code ermöglicht es, zu prüfen, ob ein Array gesetzt wurde. Der Code gibt eine Meldung zurück, wenn das Array gesetzt ist. Dafür wird eine bedingte Anweisung verwendet, um zu überprüfen, ob $myArray gesetzt ist. Sollte dies der Fall sein, wird die Meldung „Array ist gesetzt“ auf dem Bildschirm angezeigt. Generell kann man sagen, dass der Code prüft, ob eine Variable gesetzt wurde und sie dann ausgibt.
Beispiel 3:
<?php
//Beispiel 2 - Prüfen eines Objekts:
$myObject = new stdClass();
$myObject->property1 = "Wert 1";
$myObject->property2 = "Wert 2";
if (isset($myObject)) {
echo "Objekt ist gesetzt";
}
?>
Erklärung:
In dem oben stehenden PHP-Code wird zunächst ein neues Objekt der Klasse stdClass erstellt und zwei Eigenschaften mit jeweils einem Wert zugewiesen. Mithilfe des Schlüsselworts isset wird anschließend überprüft, ob das Objekt gesetzt ist. Falls ja, wird die Ausgabe „Objekt ist gesetzt“ ausgegeben. Durch den Aufruf der Funktion isset wird überprüft, ob die Variable, in diesem Fall das Objekt $myObject, existiert und ob sie keinen Wert null hat. Ist das der Fall, wird der Befehl, der in diesem Beispiel die Ausgabe 'Objekt ist gesetzt' ist, ausgeführt.
Erfahren Sie mehr über die PHP Funktion isset()
Die PHP Funktion isset() ist eine nützliche Methode, um zu überprüfen, ob eine Variable initialisiert wurde oder nicht. Es gibt einige wichtige Eigenschaften, die man über die isset() Funktion wissen sollte. Im Folgenden stellen wir Ihnen zehn Fragen zur Funktion isset(), die Ihnen helfen werden, sie besser zu verstehen.
- Was macht die PHP Funktion isset()?
- Die PHP Funktion isset() überprüft, ob eine Variable gesetzt ist und einen Wert hat. Sie gibt true (wahr) zurück, wenn die Variable gesetzt ist, ansonsten false (falsch).
- Wann sollten Sie die PHP Funktion isset() verwenden?
- Sie sollten die PHP Funktion isset() verwenden, wenn Sie überprüfen möchten, ob eine Variable gesetzt und auf einen Wert initialisiert wurde. Dies ist nützlich, wenn Sie Variablen zum Beispiel aus einer Datenbank abfragen oder aus einem Formular empfangen.
- Kann man isset() auf Objekte anwenden?
- Sie können die PHP-Funktion isset() auf Objekte anwenden. Mit dieser Funktion können Sie bestimmen, ob ein Objekt in einer bestimmten Property initialisiert wurde oder nicht.
- Welche Parameter muss man an die isset() Funktion übergeben?
- Die PHP Funktion isset() benötigt mindestens einen Parameter, um zu überprüfen, ob die Variable gesetzt ist und einen Wert hat. Mehr als ein Parameter kann übergeben werden, um mehrere Variablen auf einmal zu überprüfen.
- Was ist der Unterschied zwischen isset() und empty()?
- Der Unterschied zwischen isset() und empty() besteht darin, dass isset() überprüft, ob eine Variable gesetzt ist, während empty() überprüft, ob eine Variable leer ist. Eine Variable kann gesetzt sein, aber leer sein, daher sollte man beide Funktionen verwenden, um zu prüfen, ob eine Variable gesetzt und nicht leer ist.
- Können Variablen NULL sein, während sie trotzdem mit isset() true zurückgegeben werden?
- Ja, Variablen können NULL sein und trotzdem mit isset() true zurückgegeben werden. Dies liegt daran, dass isset() nicht den Wert einer Variable überprüft, sondern ob die Variable initialisiert wurde.
- Wie kann man eine Variable überprüfen, die als String gesetzt ist?
- Um eine Variable zu überprüfen, die als String gesetzt ist, kann man die PHP Funktion isset() verwenden. Hierbei wird überprüft, ob die Variable einen Wert enthält oder nicht.
- Kann ich isset() verwenden, um zu überprüfen, ob ein Array initialisiert wurde?
- Sie können die PHP-Funktion isset() verwenden, um zu überprüfen, ob ein Array initialisiert wurde. Mit dieser Funktion können alle Elemente eines Arrays auf einmal auf einen Wert überprüft werden. Sobald die Funktion aufgerufen wird, gibt sie entweder TRUE oder FALSE zurück, je nachdem, ob ein Wert vorhanden ist oder nicht. Daher ist es ein nützliches Werkzeug, um sicherzustellen, dass alle Elemente eines Arrays korrekt initialisiert wurden.
- Welche Rückgabewerte kann man von isset() erwarten?
- Die PHP Funktion isset() gibt entweder true (wahr) oder false (falsch) zurück. Wenn die übergebene Variable gesetzt ist und einen Wert hat, wird true zurückgegeben, ansonsten false.
- Kann man isset() verwenden, um zu überprüfen, ob eine Variable ungleich NULL ist?
- Sie können die PHP Funktion isset() nicht verwenden, um zu überprüfen, ob eine Variable ungleich NULL ist. Da isset() nur überprüft, ob eine Variable gesetzt ist, können Sie diese Funktion nicht verwenden, um zu überprüfen, ob eine Variable ungleich NULL ist.