SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=101&group=22
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.de
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Umwandeln und Prüfen von Variablen


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.{PSP}
FunktionBeschreibungRückgabewert
is_integerPrüft, ob die Variable vom Typ integer ist.TRUE (1)/FALSE (0)
is_intPrüft, ob die Variable vom Typ integer ist.TRUE (1)/FALSE (0)
is_longPrüft, ob die Variable vom Typ integer ist.TRUE (1)/FALSE (0)
is_realPrüft, ob die Variable vom Typ real ist.TRUE (1)/FALSE (0)
is_doublePrüft, ob die Variable vom Typ double ist.TRUE (1)/FALSE (0)
is_floatPrüft, ob die Variable vom Typ float ist.TRUE (1)/FALSE (0)
is_boolPrüft, ob die Variable vom Typ bool ist.TRUE (1)/FALSE (0)
is_arrayPrüft, ob die Variable vom Typ array ist.TRUE (1)/FALSE (0)
is_objectPrüft, ob die Variable vom Typ object ist.TRUE (1)/FALSE (0)
is_stringPrüft, ob die Variable vom Typ string ist.TRUE (1)/FALSE (0)
is_nullPrüft, ob die Variable vom Typ null ist.TRUE (1)/FALSE (0)
is_numericPrüft, ob die Variable eine Zahl oder ein numerischer String ist.TRUE (1)/FALSE (0)
is_resourcePrüft, ob die Variable eine Ressource ist.TRUE (1)/FALSE (0)
is_scalarPrüft, ob die Variable vom Typ integer, float, string oder boolean ist.TRUE (1)/FALSE (0)
issetPrüft, ob die Variable definiert ist.TRUE (1)/FALSE (0)
unsetLöscht eine Variable aus dem Speicher.1
emptyPrüft, ob die Variable »leer« ist.TRUE (1)/FALSE (0)
intvalWandelt den Typ einer Variablen in integer um.integer
strvalWandelt den Typ einer Variablen in string um.string
doublevalWandelt den Typ einer Variablen in double um.double
floatvalWandelt den Typ einer Variablen in float um.float
gettypeErmittelt den Typ der Variablen.string
settypeLegt 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
)
{PSP}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.