Back to questions
Junior — Middle
85
Какий результат получится, если передать массив в функцию и изменить его внутри функции?
Companies where asked
АО Тривио
Answer from AI
sobes.tech AI
В PHP массивы передаются в функции по значению, то есть создаётся копия массива. Если внутри функции изменить массив, то эти изменения не повлияют на исходный массив вне функции.
Пример:
function modifyArray($arr) {
$arr[] = 'новый элемент';
print_r($arr);
}
$original = ['элемент1', 'элемент2'];
modifyArray($original);
print_r($original);
Вывод будет:
Array
(
[0] => элемент1
[1] => элемент2
[2] => новый элемент
)
Array
(
[0] => элемент1
[1] => элемент2
)
Если нужно изменить исходный массив внутри функции, его нужно передавать по ссылке, используя &:
function modifyArrayByReference(&$arr) {
$arr[] = 'новый элемент';
}
$original = ['элемент1', 'элемент2'];
modifyArrayByReference($original);
print_r($original);
Теперь изменения будут сохранены в исходном массиве.