Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Sprachelemente und Syntax  Teil von  Variablen
Letztes Update: 04.09.2007 20:49:50

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

Dynamische Variablen




Interessant ist die Möglichkeit in PHP, auch Variablennamen selbst in Variablen zu speichern und so quasi auf Variablen zuzugreifen. Die Zuweisung erfolgt in zwei Schritten. Zuerst wird eine normale Variable erzeugt, der Sie den Namen der dynamischen Variablen zuordnen:

$varname = "meinevariable";

Eine dynamische Variable nimmt den Wert einer Variablen als Namen. Der implizierten Variablen können Sie einen Wert zuweisen, indem zwei $$-Zeichen vorangestellt werden:

$$varname = "PHP";

Sollten Sie die zuvor gezeigte Definition verwendet haben, gibt das Skript nun mit echo($meinevariable) den Wert "PHP" aus. Einmal erfolgte Zuweisungen bleiben von späteren Umbenennungen der führenden Variablen unberührt. Das folgende Beispiel zeigt einige Varianten:

<?php
$varname = "meinevariable";
echo "Variable varname ist: $varname <BR>";
$name = "PHP";
echo "Variable name ist: $name <BR>";
$$varname = "Dynamisch";
echo "Variable varname ist: $meinevariable <BR>";
$varname = "Programmieren";
echo "Variable varname ist: $meinevariable <BR>";
echo "Variable varname ist: $varname <BR>";
?>

Ausgabe
Variable varname ist: meinevariable
Variable name ist: PHP
Variable varname ist: Dynamisch
Variable varname ist: Dynamisch
Variable varname ist: Programmieren

Sie sollten sich dieses Ergebnis in Ruhe betrachten.


Dynamische Variablen mit Arrays

Dynamische Variablen können auch mit Arrays genutzt werden. In diesem Fall kann es zu Zuordnungsproblemen kommen. Der PHP-Interpreter kann nicht immer eindeutig erkennen, auf welchen Teil der Konstruktion sich die Indizes beziehen. So könnte $$zahl[1] sowohl eine Variable ($zahl[1]) sein als auch Teil eines Arrays ($$zahl) mit dem Index 1. In solchen Fällen fassen Sie die logisch zusammenhängenden Teile des Ausdrucks mit geschweiften Klammern zusammen, entweder ${$zahl[1]} oder ${$zahl}[1].


Anwendungsmöglichkeiten

Diese komplizierte Art der Verarbeitung von Variablen mag auf den ersten Blick wenig sinnvoll erscheinen. Das folgende Beispiel zeigt, wie sie angewendet werden kann.

Angenommen, Sie möchten sich Variablen über mehrere Skripts hinweg merken. Das kann in einer Datei oder einer Datenbank sein. In jedem Fall speichern Sie die zu speichernden Variablen in einem Array, wobei immer der Name der Variablen und der Inhalt zusammen ein Element bilden.

Beispiel

<?php
$personen = array(
    "vorname" => "Caroline",
    "nachname" => "Kannengiesser",
    "ort" => "Berlin",
    "alter" => 25
  );
if (is_array($personen)) {
  while (list($name,$wert) = each($personen)) {
    ${$name} = $wert;
    echo "$name : $name / ${$name} / $wert <BR>";
  }
}
?>

Ausgabe
vorname : vorname / Caroline / Caroline
nachname : nachname / Kannengiesser / Kannengiesser
ort : ort / Berlin / Berlin
alter : alter / 25 / 25

Tipp: Betrachten Sie die Ausgabe und urteilen Sie selbst!

Wenn dieses Skript abläuft, entstehen vier Variablen: $vorname, $nachname, $ort und $alter. Diese sind mit den Daten "Caroline", "Kannengiesser", 25 und "Berlin" gefüllt. Stellen Sie sich vor, anstatt des Arrays eine serialisierte Zeichenkette zu haben – dann steht der Speicherung im Tabellenfeld einer Datenbank nichts mehr im Wege.

Übrigens: Die wesentliche Codezeile, mit deren Hilfe aus der jeweiligen Zeichenkette eine gleichlautende Variable wird, ist ${$name} = $wert.



 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt