PHP参考变量,为什么$ a = 21?

Can someone explain to me in a simple language why $a = 21 in the final output?

$a = '1';    
echo $a . "<br>"; // result 1

$b = &$a;
echo $b . "<br>"; // result 1

$b = "2$b";
echo $b . "<br>"; // result 21

echo $a . "<br>"; // result 21 WHY?

echo $a . ", " . $b; // result 21, 21

Thank you. I appreciate the help very much.

It's because when you do

$b = "2$b";

it means "Set the value of $b to the string "2" followed by whatever the current value of $b is.

Earlier you put

$b = &$a;

This means "create a new reference for $a and call it $b", or in other words make $b point at the same thing in memory that $a is pointing at.

When you update the value of $b you're really updating the value that's stored in the memory block that both $a and $b point at, so once you've set $b to a particular value $a will be the same value because they both reference the same thing.