Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Operatoren
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* 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 79.000 Beiträgen finden Sie sicher die passende Antwort!  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 



 

Zuweisungsoperator




Wie Sie bereits im Abschnitt zu den Variablen gesehen haben, wird in PHP (=) dazu verwendet, um einer Variablen einen Wert zuzuweisen.


Beispiel



$vorname = "Matze";



Auch wenn man eine solche PHP-Zeile nicht als Ausdruck ansieht, der ausgewertet werden kann und einen Wert hat, handelt es sich doch wirklich um einen Ausdruck. Technisch gesehen ist (=) ein Operator. Der Operator (=) erwartet als linken Operanden eine Variable. Als rechter Operand wird ein beliebiger Wert eines beliebigen Typs erwartet. Der Wert eines Zuweisungsausdrucks ist der Wert des rechten Operanden. Da (=) als Operator definiert ist, kann er auch als Bestandteil komplexerer Ausdrücke verwendet werden.


Beispiel



$zahlEins = 200;
$zahlZwei = 250;
$pruefen = zahlEins == zahlZwei;        // Ergebnis: false



Hinweis: Wenn Sie so etwas verwenden wollen, sollte Ihnen vorher der Unterschied zwischen den Operatoren (=) und (==) vollkommen klar sein.


Der Zuweisungsoperator ist von rechts nach links assoziativ, das bedeutet, dass bei mehreren Zuweisungsoperatoren innerhalb eines einzigen Ausdrucks von rechts nach links ausgewertet wird. Als Folge davon kann man Code wie den folgenden schreiben, um mehreren Variablen jeweils denselben Wert zuzuweisen.


Beispiel



// Initialisierung mehrerer Variablen in einem Ausdruck
$i = $j = $k = 100;




Zuweisung mit Operation

Neben dem Zuweisungsoperator (=) unterstützt PHP noch eine Reihe weiterer Zuweisungsoperatoren, die eine Kurzform bzw. Kurznotation dafür darstellen, dass eine Zuweisung mit einer anderen Operation verbunden wird.


Beispiel



// Initialisierung
$preis = 10.00;
$mwst = 1.60;
// Kurzform
$preis +=  $mwst;                // Ergebnis: 11.6
// Gleichbedeutend
$preis = $preis + $mwst            // Ergebnis: 11.6



Entsprechend gibt es auch -=, *=, /=, %=, usw. Die nachfolgende Tabelle führt all diese Operatoren auf.


Beispiel



// Initialisierung
$zahlEins = 50;
$zahlZwei = 25;

// Kurzformen
$zahlEins += $zahlZwei;            // Ergebnis: 75
$zahlEins -= 5;                // Ergebnis: 70
$zahlEins *= 2;                // Ergebnis: 140
$zahlZwei /= 5;                // Ergebnis: 5
$zahlZwei %= 2;                // Ergebnis: 1



Abschliessend eine Übersicht über die Zuweisungsoperatoren in PHP.

Operator Bezeichnung Bedeutung
= Einfache Zuweisung $a = $b weist $a den Wert von $b zu und liefert $b als Rückgabewert
+= Additionszuweisung $a += $b weist $a den Wert von $a + $b zu und liefert $a + $b als Rückgabewert
-= Subtraktionszuweisung $a -= $b weist $a den Wert von $a - $b zu und liefert $a - $b als Rückgabewert
*= Multiplikationszuweisung $a *= $b weist $a den Wert von $a * $b zu und liefert $a * $b als Rückgabewert
%= Modulozuweisung $a %= $b weist $a den Wert von $a % $b zu und liefert $a % $b als Rückgabewert
/= Divisionszuweisung $a /= $b weist $a den Wert von $a / $b zu und liefert $a / $b als Rückgabewert
.= Zeichenkettenzuweisung $a .= $b weist $a den Wert von $a . $b zu und liefert $a . $b als Rückgabewert



Zuweisung "by reference"

Im Zusammenhang mit Zuweisungen ist noch ein wichtiger Punkt zu beachten:

Bei den bisher betrachteten Zuweisungen wird der Wert einer Variablen einer anderen Variablen zugewiesen. Es existieren also zwei unterschiedliche Variablen und somit auch zwei unterschiedliche Speicherbereiche, die nach der erfolgten Zuweisung zwar denselben Wert aufweisen, aber ansonsten völlig unabhängig voneinander im Arbeitsspeicher existieren. Diese Zuweisungsart wird auch als Zuweisung "by value" bezeichnet.

Seit PHP 4 steht Ihnen jedoch noch eine weitere Form der Zuweisung zur Verfügung, bei der nach erfolgter Zuweisung beide Variablen auf denselben Speicherbereich verweisen. In diesem Zusammenhang spricht man auch von Zuweisungen "by reference". Wenn Sie Zuweisungen "by reference" vornehmen, weisen Sie also nicht einer Variablen den Wert einer anderen zu, sondern einer Variablen den Speicherbereich einer anderen, sodass im Ergebnis jetzt beide Variablen auf denselben Speicherbereich verweisen und somit nur noch eine Variable existiert, die allerdings zwei unterschiedliche Variablennamen besitzt.


Beispiel



<?
$vorname 
"Matthias";
$meinname = &$vorname;
// Ausgabe - Matthias
echo $meinname;
// Ausgabe - Matthias
echo $vorname;
$vorname "Caroline";
// Ausgabe - Caroline
echo $meinname;
// Ausgabe - Caroline
echo $vorname;
$meinname "Gülten";
// Ausgabe - Gülten
echo $meinname;
// Ausgabe - Gülten
echo $vorname;
?>




Operator Bezeichnung Bedeutung
$a = &$b Zuweisung "by reference" Der Speicherbereich der Variablen $a wird auf den Speicherbereich der Variablen $b gesetzt



 


Arithmetische Operatoren
 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de