PHP stellt eine Vielzahl von Funktionen zur Verarbeitung von Variablen zur Verfügung, sodass es dem Entwickler nicht schwer fallen wird, sie im Griff zu haben.
Einsatz von isset()
Bei logischen Vergleichen kann es äußerst wichtig sein zu prüfen, ob eine Variable mit 0 oder einem Leerstring gefüllt wurde, oder überhaupt noch nicht zugewiesen wurde. Sie können mit der Funktion isset() testen, ob eine Variable existiert.
Beispiel
<?php
$preis = 9.99;
if (isset($preis)) {
echo $preis;
} else {
echo "Umsonst!";
}
?>
Ausgabe
9.99
Wie man sieht, lässt sich die Funktion hervorragend in einer Bedingung unterbringen und somit kann man jederzeit überprüfen, ob die jeweilige Variable bereits existiert oder nicht.
Einsatz von empty()
Wenn Sie nur testen möchten, ob ein Wert zugewiesen wurde, ist die Funktion empty() genau das Richtige.
Beispiel
<?php
$vorname = "";
if (empty($vorname)) {
echo "Ist leer und existiert";
} else {
echo "Ist nicht leer und existiert";
}
?>
Ausgabe
Ist leer und existiert
Die Funktion gibt 1 (True) zurück, wenn der Inhalt der Variablen 0 oder ein leerer String ist und die Variable existiert.
Einsatz von unset()
Sollten Sie vorhaben, eine Zuweisung bzw. Variable wieder aufzuheben und die Variable damit zu löschen, steht Ihnen die Funktion unset() zur Verfügung.
Beispiel
<?php
$vorname = "Caroline";
unset($vorname);
if (isset($vorname)) {
echo "Existiert!";
} else {
echo "Existiert Nicht!";
}
?>
Ausgabe
Existiert Nicht!
Hier eine Aufstellung der wichtigsten Funktionen zum Prüfen von Variablen samt ihren Rückgabewerten.
Funktion | Beschreibung | Rückgabewert | is_integer | Prüft, ob die Variable vom Typ integer ist. | TRUE (1)/FALSE (0) | is_int | Prüft, ob die Variable vom Typ integer ist. | TRUE (1)/FALSE (0) | is_long | Prüft, ob die Variable vom Typ integer ist. | TRUE (1)/FALSE (0) | is_real | Prüft, ob die Variable vom Typ real ist. | TRUE (1)/FALSE (0) | is_double | Prüft, ob die Variable vom Typ double ist. | TRUE (1)/FALSE (0) | is_float | Prüft, ob die Variable vom Typ float ist. | TRUE (1)/FALSE (0) | is_bool | Prüft, ob die Variable vom Typ bool ist. | TRUE (1)/FALSE (0) | is_array | Prüft, ob die Variable vom Typ array ist. | TRUE (1)/FALSE (0) | is_object | Prüft, ob die Variable vom Typ object ist. | TRUE (1)/FALSE (0) | is_string | Prüft, ob die Variable vom Typ string ist. | TRUE (1)/FALSE (0) | is_null | Prüft, ob die Variable vom Typ null ist. | TRUE (1)/FALSE (0) | is_numeric | Prüft, ob die Variable eine Zahl oder ein numerischer String ist. | TRUE (1)/FALSE (0) | is_resource | Prüft, ob die Variable eine Ressource ist. | TRUE (1)/FALSE (0) | is_scalar | Prüft, ob die Variable vom Typ integer, float, string oder boolean ist. | TRUE (1)/FALSE (0) | isset | Prüft, ob die Variable definiert ist. | TRUE (1)/FALSE (0) | unset | Löscht eine Variable aus dem Speicher. | 1 | empty | Prüft, ob die Variable »leer« ist. | TRUE (1)/FALSE (0) | intval | Wandelt den Typ einer Variablen in integer um. | integer | strval | Wandelt den Typ einer Variablen in string um. | string | doubleval | Wandelt den Typ einer Variablen in double um. | double | floatval | Wandelt den Typ einer Variablen in float um. | float | gettype | Ermittelt den Typ der Variablen. | string | settype | Legt den Typ der Variablen fest. | TRUE (1)/FALSE (0) |
Einsatz von get_defined_vars()
Dies Funktion get_defined_vars() gibt ein mehrdimensionales Array zurück, welches eine Liste sämtlicher definierter Variablen enthält. Dabei handelt es sich um Variablen aus der Entwicklungsumgebung, vom Server oder um nutzerdefinierte Variablen.
Beispiel – Servervariablen
<pre>
<?php
$liste = get_defined_vars();
print_r($liste["_SERVER"]);
?>
</pre>
Ausgabe
Array
(
[HTTP_ACCEPT] => */*
[HTTP_ACCEPT_LANGUAGE] => de
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_USER_AGENT] => Mozilla/4.0…
[HTTP_HOST] => localhost
[HTTP_CONNECTION] => Keep-Alive
[HTTP_CACHE_CONTROL] => no-cache
[PATH] => C:\WINDOWS;C:\WINDOWS\COMMAND
[COMSPEC] => C:\WINDOWS\COMMAND.COM
[WINDIR] => C:\WINDOWS
[SERVER_SIGNATURE] => Apache/2.0.48 (Win32) PHP/5.0…
[SERVER_SOFTWARE] => Apache/2.0.48 (Win32) PHP/5.0…
[SERVER_NAME] => localhost
[SERVER_ADDR] => 127.0.0.1
[SERVER_PORT] => 80
[REMOTE_ADDR] => 127.0.0.1
[DOCUMENT_ROOT] => C:/php5xampp-dev/htdocs
[SERVER_ADMIN] => admin@localhost
[SCRIPT_FILENAME] => C:/php5xampp-dev/htdocs/test.php
[REMOTE_PORT] => 1334
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /php5/test.php
[SCRIPT_NAME] => /php5/test.php
[PHP_SELF] => /php5/test.php
)
Beispiel – Array-Schlüssel des Systems
<pre>
<?php
print_r(array_keys(get_defined_vars()));
?>
</pre>
Ausgabe
Array
(
[0] => GLOBALS
[1] => _ENV
[2] => HTTP_ENV_VARS
[3] => _POST
[4] => HTTP_POST_VARS
[5] => _GET
[6] => HTTP_GET_VARS
[7] => _COOKIE
[8] => HTTP_COOKIE_VARS
[9] => _SERVER
[10] => HTTP_SERVER_VARS
[11] => _FILES
[12] => HTTP_POST_FILES
[13] => _REQUEST
)
Beispiel
<pre>
<?php
$liste = get_defined_vars();
print_r($liste);
?>
</pre>
Ausgabe
Die Ausgabe habe ich Ihnen erspart, nur so viel sei verraten: Sie erfahren hier recht interessante Dinge über Ihren Server.
|