Задать вопрос
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
)
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
В PHP объекты передаются и возвращаются по ссылке.
Дока
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽