Dlaczego tablica PHP jest modyfikowana, gdy jej element jest przypisany do referencji?

Podczas ponownego przypisywania elementu tablicy zawartość tablicy jest modyfikowana:

$arr = array(100, 200);
var_dump($arr);
/* shows:
array(2) {
  [0]=>
  int(100)  // ← ← ← int(100)
  [1]=>
  int(200)
}
*/

$r = &$arr[0];
var_dump($arr);
/* shows:
array(2) {
  [0]=>
  &int(100)  // ← ← ← &int(100)
  [1]=>
  int(200)
}
*/

Bieg na żywo. (Silnik Zend będzie działał dobrze, podczas gdy HHVM pokazuje „Proces zakończony kodem 153”.)

Dlaczego element został zmodyfikowany?

Dlaczego widzimy&int(100) zamiastint(100)?

To wydaje się całkowicie dziwne. Jakie jest wyjaśnienie tej dziwności?

questionAnswers(1)

yourAnswerToTheQuestion