4

通常、これは「参照による代入」を意味することは知ってい=&ますが、これら 2 つの文字を逆にするとどうなるでしょうか。これは多くの PHP スクリプトで見られます。

4

3 に答える 3

6

$a &= $b$a = $a & $bwhich はビットごとの AND 演算子の略です。

于 2013-04-18T09:03:55.347 に答える
5

これは、複合ビットごとの AND /代入演算子です。

$x = 0x01;
$y = 0x11;

$y &= $x; // bitwise AND $y and $x, assign result back to $y
var_dump($y == 0x01); // true
于 2013-04-18T09:01:35.170 に答える
4

&=複合代入演算子ですが、=&実際には 2 つの別々の演算子 (=&) が一緒にプッシュされます。PHP はそれらの間に空白を必要としないため、これは正当な構文です。

&=左辺と右辺の間でビットごとの AND 演算を実行し、その結果を左辺の変数に代入します。

$x = 1;
$x &= 0; // $x === 0 now. A more verbose syntax would be "$x = $x & 0;"

一方 、オペレーターは分離されているため、=&実際には拡張する必要があります。= &これは、参照による代入と呼ばれます。は=標準の代入演算子であり、&変数名の前に接頭辞を付けると、変数に が返さreferenceれます。

$y = "foobar";
$x = &$y; // $x now holds a reference to $y.
于 2013-04-18T09:06:23.263 に答える