ich weiß das =&
bedeutet normalerweise "Zuweisen nach Verweis", aber was passiert, wenn wir diese beiden Zeichen umkehren, da ich dies in vielen PHP-Skripts gesehen habe?
Antworten:
4 für die Antwort № 1&=
ist ein zusammengesetzter Zuweisungsoperator, wohingegen =&
ist eigentlich zwei getrennte Operatoren (=
und &
), zusammengeschoben. Dies ist eine legale Syntax, da PHP keinen Leerraum zwischen ihnen verlangt.
&=
führt eine bitweise UND-Verknüpfung zwischen linker und rechter Seite aus und weist das Ergebnis dann der linken Variablen zu.
$x = 1;
$x &= 0; // $x === 0 now. A more verbose syntax would be "$x = $x & 0;"
Andererseits
=&
sollte eigentlich auf erweitert werden = &
da die Betreiber getrennt sind. Dies ist bekannt als Zuordnung nach Referenz. Das =
ist Ihr Standardzuweisungsoperator und der &
wenn vorangestellt vor einem Variablennamen wird das zurückgegeben reference
auf die Variable.
$y = "foobar";
$x = &$y; // $x now holds a reference to $y.
6 für die Antwort № 2
$a &= $b
Kurzform für $a = $a & $b
das ist der bitweise-Operator.
5 für die Antwort № 3
Es ist die Verbindung bitweise UND/Aufgabenverwalter:
$x = 0x01;
$y = 0x11;
$y &= $x; // bitwise AND $y and $x, assign result back to $y
var_dump($y == 0x01); // true