Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
<?php
class Counter
{
public int $value = 0;
}
$a = new Counter();
$b = new Counter();
$a->value += 5;
echo $a->value, ' ', $b->value, "\n";5 0
- Ждать
5 5, будто обе переменные хранят один счётчик: каждыйnewстроит свой объект со своим$value, поэтому у$bпо-прежнему0. - Считать, что объект нельзя менять после
new:public-свойство можно изменить в любой момент, и$a->value += 5делает его равным5.
- Как изменить
Counter, чтобы все его объекты делили один счётчик? - Что вернёт здесь
$a === $bи почему?