inilim2
@inilim2
Intern PHP

Почему функция при возвращении обьекта ссылается на основной источник?

Разве функция get() не должна возвращать "копию" обьекта init::$i ?
<?php
Class init
{
	public static $i;
}

function initStatic ()
{
    init::$i = new stdClass;
    init::$i->param1 = 'val1';
    init::$i->param2 = 'val2';
    init::$i->param3 = 'val3';
}

function get ()
{
    return init::$i;
}

initStatic();

get()->param4 = 'val4';

print_r(init::$i);

А на деле функция возвращает еще и ссылку на источник.
stdClass Object
(
    [param1] => val1
    [param2] => val2
    [param3] => val3
    [param4] => val4
)
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
В PHP объекты передаются и возвращаются по ссылке.
Дока
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
03 мая 2024, в 11:01
50000 руб./за проект
03 мая 2024, в 10:56
5000 руб./за проект
03 мая 2024, в 10:55
5000 руб./за проект