The mysteries of auto-increment and auto-increment operations in PHP
First, let's take a look at the interview question:
$ A = 1; $ B = & $ a; if ($ B = $ a ++) echo "true"; else echo "false ";
First, create a variable $ a and set the value to 1;
Then, a variable $ B is created and used as a reference to $;
Finally, this judgment statement contains two Opcodes: POST_INC and IS_EQUAL. First, the post-auto-increment Statement (POST_INC) is executed. First, 1 is returned, and then $ a is auto-incremented to 2 because $ B is a reference of $, $ B is also 2. The comparison Statement (IS_EQUAL) is executed, because the value of $ B is 2, and the return value of $ a ++ is 1, so they are not equal.
Similar interview questions include:
$ A = 1; $ B = & $ a; $ B = $ a ++; echo "a: $ a; B: $ B ";
[URGENT] I am not familiar with the image on the question of PHP operator auto-increment and auto-subtraction. Can anyone explain it to me?
First, you must understand that $ a ++ is a value first and then an auto-increment value. ++ $ a is a value first and then an auto-increment value.
$ B = $ a ++ $ a; this is equivalent to $ B = ($ a ++) + (++ $ );
$ A is automatically increased to 12 twice;
The first expression ($ a ++) equals 10, and $ a = 11;
The second expression (+ + $ a) equals 12, and $ a = 12;
Absolutely positive. Do not believe splitting to test
$ C = $ a ++; // $ c = 10; $ a = 11;
$ D = ++ $ a; // $ d = 12; $ a = 12;
$ B = $ c + $ d // $ B = 22
PHP superlinks pass value auto-increment or auto-Subtraction
$ Curpage is calculated at the control layer.