通常、これは「参照による代入」を意味することは知ってい=&
ますが、これら 2 つの文字を逆にするとどうなるでしょうか。これは多くの PHP スクリプトで見られます。
質問する
154 次
3 に答える
6
$a &= $b
$a = $a & $b
which はビットごとの 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 に答える