| |
| * Link führt ins Internet |
|
| |
Unwandeln und Prüfen von Variablen
|
|
PHP stellt eine Vielzahl von Funktionen zur Verarbeitung von Variablen zur Verfügung, so dass es dem Entwickler nicht schwer fallen wird sie im Griff zu haben.
Einsatz von isset()
Bei logischen Vergleichen kann es äusserst wichtig sein zu prüfen, ob eine Variable mit 0 oder einem leer String 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 eine 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 leer 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 Funktion zum Prüfen von Variablen, samt ihrer Rückgabewerte.
| 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 Resource 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] => HTTP_ACCEPT
[2] => HTTP_ACCEPT_LANGUAGE
[3] => HTTP_ACCEPT_ENCODING
[4] => HTTP_USER_AGENT
[5] => HTTP_HOST
[6] => HTTP_CONNECTION
[7] => HTTP_CACHE_CONTROL
[8] => PATH
[9] => COMSPEC
[10] => WINDIR
[11] => SERVER_SIGNATURE
[12] => SERVER_SOFTWARE
[13] => SERVER_NAME
[14] => SERVER_ADDR
[15] => SERVER_PORT
[16] => REMOTE_ADDR
[17] => DOCUMENT_ROOT
[18] => SERVER_ADMIN
[19] => SCRIPT_FILENAME
[20] => REMOTE_PORT
[21] => GATEWAY_INTERFACE
[22] => SERVER_PROTOCOL
[23] => REQUEST_METHOD
[24] => QUERY_STRING
[25] => REQUEST_URI
[26] => SCRIPT_NAME
[27] => PHP_SELF
[28] => _POST
[29] => HTTP_POST_VARS
[30] => _GET
[31] => HTTP_GET_VARS
[32] => _COOKIE
[33] => HTTP_COOKIE_VARS
[34] => _SERVER
[35] => HTTP_SERVER_VARS
[36] => _ENV
[37] => HTTP_ENV_VARS
[38] => _FILES
[39] => HTTP_POST_FILES
[40] => _REQUEST
)
|
Beispiel
<pre>
<?php
$liste = get_defined_vars();
print_r($liste);
?>
</pre>
|
Ausgabe
Die Ausgabe haben wir uns und Ihnen erspart, nur so viel sei verraten hiermit erfahren Sie recht interessante Dinge über Ihren Server.
|
|
|
|
|
|
|