Zuweisungsoperatoren

Der einfachste Zuweisungsoperator ist "=". Wahrscheinlich kommt man als erstes auf die Idee, ihn mit "ist gleich" zu bezeichnen. Das ist falsch. In Wirklichkeit bedeutet er, dass dem linken Operanden der Wert des Ausdrucks auf der rechten Seite zugewiesen wird (man müsste ihn also mit "wird gesetzt auf den Wert von" übersetzen).

Der Wert eines Zuweisungs-Ausdruckes ist der zugewiesene Wert. D. h. der Wert des Ausdruckes "$a = 3" ist 3. Das erlaubt es, einige raffinierte Dinge anzustellen:

<?php

$a 
= ($b 4) + 5// $a ist nun gleich 9 und $b wurde auf den Wert 4 gesetzt.

?>

Zusätzlich zu dem oben vorgestellten Zuweisungsoperator "=" gibt es "kombinierte Operatoren" für alle binären, arithmetischen, Array-Vereinigungs- und Zeichenketten-Operatoren, die es erlauben, den Wert einer Variablen in einem Ausdruck zu benutzen und dieser anschließend das Ergebnis des Ausdrucks als neuen Wert zuzuweisen. Zum Beispiel:

<?php

$a 
3;
$a += 5// setzt $a auf den Wert 8, als ob wir geschrieben hätten: $a = $a + 5;
$b "Hallo ";
$b .= "Du!"// setzt $b auf den Wert "Hallo Du!", äquivalent zu
             // $b = $b . "Du!";
?>

Man beachte, dass die Zuweisung nur den Wert der Ursprungsvariable der neuen Variable zuweist (Zuweisung als Wert, sie "kopiert"), weshalb sich Änderungen an der einen Variable nicht auf die andere auswirken werden. Das kann wichtig sein, wenn man ein großes Array o. ä. in einer Schleife kopieren muss.

Eine Ausnahme vom üblichen Wertzuweisungsverhalten in PHP stellen Objekte (object) dar, die per Referenz zugewiesen werden. Objekte können mit dem clone-Schlüsselwort explizit kopiert werden.

Referenzzuweisung

Referenzzuweisung wird ebenfalls unterstützt, unter Verwendung der "$var = &$othervar;" Syntax. Referenzzuweisung bedeutet, dass beide Variablen schließlich auf dieselben Daten zeigen, und nichts kopiert wurde.

Beispiel #1 Referenzzuweisung

<?php
$a 
3;
$b = &$a// $b ist eine Referenz auf $a

print "$a\n"// gibt 3 aus
print "$b\n"// gibt 3 aus

$a 4// ändere $a

print "$a\n"// gibt 4 aus
print "$b\n"// gibt ebenfalls 4 aus, da $b eine Referenz auf $a ist, das
              // geändert wurde
?>

Der new-Operator gibt automatisch eine Referenz zurück, sodass das Zuweisen des Ergebnisses von new per Referenz ein Fehler ist.

<?php
class {}

$o = &new C;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Parse error: syntax error, unexpected 'new' (T_NEW) in …

Weitere Informationen zu Referenzen und ihren Anwendungsmöglichkeiten sind dem Handbuch-Abschnitt Referenzen erklärt zu entnehmen.

Arithmetische Zuweisungsoperatoren

Beispiel Entsprechung Operation
$a += $b $a = $a + $b Addition
$a -= $b $a = $a - $b Subtraktion
$a *= $b $a = $a * $b Multiplikation
$a /= $b $a = $a / $b Division
$a %= $b $a = $a % $b Modulus
$a **= $b $a = $a ** $b Potenzierung

Bitweise Zuweisungsoperatoren

Beispiel Entsprechung Operation
$a &= $b $a = $a & $b Und
$a |= $b $a = $a | $b Oder
$a ^= $b $a = $a ^ $b Xor
$a <<= $b $a = $a << $b Linksverschiebung
$a >>= $b $a = $a >> $b Rechtsverschiebung

Andere Zuweisungspperatoren

Beispiel Entsprechung Operation
$a .= $b $a = $a . $b Stringverknüpfung
$a ??= $b $a = $a ?? $b Null-Zusammenführungsoperator

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Grundlagen von Views in MySQL

Views in einer MySQL-Datenbank bieten die Möglichkeit, eine virtuelle Tabelle basierend auf dem Ergebnis einer SQL-Abfrage zu erstellen. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Definition von Stored Procedures - eine Einführung

Stored Procedures sind vordefinierte SQL-Codeblöcke, die in einer Datenbank gespeichert sind und bei Bedarf aufgerufen werden können. ...

Bernie

Autor : ebiz-consult GmbH & Co. KG
Kategorie: mySQL-Tutorials

Wie kann man komplexe Abfragen mit SQL-Querys In MySQLi effektiv durchführen?

In diesem MySQL-Tutorial wird erklärt, wie komplexe SQL-Abfragen in MySQLi effizient durchgeführt werden können. Wir werden uns mit verschiedenen Aspekten der Datenbankabfrage beschäftigen und spezifische Methoden kennenlernen. ...

TheMax

Autor : TheMax
Kategorie: mySQL-Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Professioneller Webentwickler & Webdesigner

Of course, here is the translation: Hello, Thank you for your interest in the long-term project. Your extensive skills and experience in web dev ...

Geschrieben von Athelstan am 15.04.2024 09:25:39
Forum: Jobgesuche
Wir stellen unsere SEO-Agentur vor

Hallo In der heutigen digitalen Welt war es für Unternehmen noch nie so einfach, ihre Reichweite weltweit zu vergrößern. Wenn Sie außerhalb I ...

Geschrieben von thomasmuller am 14.04.2024 07:18:33
Forum: User stellen sich vor
Spielplan für 4 Gruppen zu je 6 Teams auf 2 Feldern

Hallöchen zusammen, ich versuche derzeit unseren Excel-Spielplan in PHP zu überführen. Eigentlich bin ich auch shon fertig - wenn da nicht dies ...

Geschrieben von derH0st am 11.04.2024 15:58:37
Forum: PHP Developer Forum
PHP 8.3.3 - App kann auf dem PC nicht ausgeführt werden

Problem gelöst. Die php.exe hatte einen defekt. Neue heruntergeladen und fertig.

Geschrieben von Tetra1081 am 10.04.2024 16:49:14
Forum: PHP Developer Forum