Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
<?php
function push(array $list, string $x)
{
$list[] = $x;
return count($list);
}
$cart = ['tea'];
$n = push($cart, 'milk');
echo $n, ' ', count($cart), "\n";2 1
- Ждать
2 2, будто массив передаётся по ссылке: без&параметр — копия, и добавление в$listне меняет$cart. - Считать, что функция не может менять свой параметр: может, но изменение остаётся в её копии и пропадает после вызова.
- Как изменить
push, чтобы новый элемент попал в сам$cart? - Почему передать большой массив в функцию дёшево, пока функция в него не пишет?