[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 1 | 1 | 1
Назад Вниз Каталог Обновить

PHP и работа со ссылками Аноним # OP  06/06/16 Пнд 02:31:41  762747  
14651695016600.jpg (89Кб, 500x281)
Сап, котаны. Вот смотрите, с какой проблемой столкнулся.

Пусть есть некий объект `$obj`, и пусть есть ссылка, ссылающаяся куда-то к нему внутрь:

`$obj = (object) ['a' => 1, 'b' => 2]; $link = &$obj->a;`

Пусть есть некая функция, принимающая как вышеупомянутую ссылку, так и некоторое значение, и записывающая значение по ссылке:

`function foo(&$value, &$link) { $link = $value; }`

Очевидно, что после вызова кода:

`$value = 3; foo($value, $link);`

будет следующий результат:

`echo $obj->a; // 3`

А вот теперь внимание, вопрос. Нужно сделать (внутри функции) так, чтобы, помимо всего вышеперечисленного, изменение `$value` также приводило к изменениям `$obj->a`:

`$value++; echo $obj->a; // 4`

Самые молодые да шутливые сейчас бросятся пейсать `$link =& value`, но не тут-то было: после этого `$link` начнет указывать на `$value` вместо `$obj->a`, только и всего. По сути-то надо просто сделать, чтобы `$obj->a` указывала на `$value`, да вот незадача: изнутри функции мы доступа напрямую к `$obj->a` не имеем, только к `$link`.

Есть идеи?
Аноним 06/06/16 Пнд 09:26:23  762780
Бумп. Неужели невозможно?

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 1 | 1 | 1
Назад Вверх Каталог Обновить

Топ тредов