Я пишу парсер для PHP и во время возиться с каким-то сторонним кодом, я столкнулся с странным случаем относительно оператора []
.
Обычно []
используется без ключа в левой части присваивания, означающего "добавить как последний элемент".
$a = array();
$a[] = 1;
добавит 1 в конец массива $a.
В вышеприведенном коде я видел такую строку:
$r =& $a[];
Когда я попытался удалить &, я получил довольно ожидаемую фатальную ошибку:
Неустранимая ошибка: нельзя использовать [] для чтения
При &
PHP не жалуется вообще. В чем смысл выражения
& $a[];
?