![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
мухр |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 11.8.2005 Репутация: нет Всего: нет |
Как определить, что две переменные ссылаются на одно и то же значение? То есть одна переменная является ссылкой на другую. Оператор сравнения "===", как я понимаю, здесь не подходит, ибо он сравнивает два значения на предмет их обычного соответствия.
|
|||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Никак. В PHP нет такого типа "ссылка", ты не сможешь получить адрес памяти, где лежит значение, стандартных средств самого PHP для этого тоже нет.
А где может возникнуть такая необходимость? ![]() Это сообщение отредактировал(а) Pitlord - 5.11.2009, 23:12 |
|||
|
||||
мухр |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 11.8.2005 Репутация: нет Всего: нет |
||||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
$a после этой операции будет такого же типа, как и $b, т.е. $a и $b будут абсолютно идентичными переменными. То есть $a будет ссылкой на $b только на словах, по сути можно будет точно так же назвать $b ссылкой на $a Настал мой черёд удивляться ![]() Это сообщение отредактировал(а) Pitlord - 5.11.2009, 23:46 |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
что-то я не понял этого объяснения имеется ввиду, что $a и $b будут вообще одно и тоже? то есть всего лишь два имени одного и того же элемента и разница между ними будет такая же, как между медведем и bear`ом |
|||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
bars80080, $a и $b где-то внутри будут указывать на одну и ту же область памяти, поэтому если будете менять $a, то будет меняться $b, и наоборот.
|
|||
|
||||
мухр |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 11.8.2005 Репутация: нет Всего: нет |
|
|||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
||||
|
||||
sTa1kEr |
|
||||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
На самом деле просто во внутреннем представлении переменных $a и $b будет включен фалг "is_ref", на основании которого различается логика изменения значения этих переменных. Но с точки зрения PHP скрипта да, это выглядит как будто и $a и $b ссылаются на одно пространство в памяти.
Штатными средствами никак. Можно узнать только является ли переменная передаваемой "по ссылке", т.е. включен ли флажек is_ref. Но узнать ссылаются ли обе переменные на одно и тоже значение можно только экспериментальным путем, т.е. изменив значение одной из них и сравнив затем это значение с другой. Других способов не существует. Это сообщение отредактировал(а) sTa1kEr - 6.11.2009, 00:33 |
||||
|
|||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
||||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
||||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
||||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
А самое главное, это то, что задача не имеет практического смысла, и возникла только из-за того, что кому-то надо подучить ООП.
|
|||
|
||||
brother79 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 2 Всего: 6 |
А можно озвучить подробности этой проблемы? У меня складывается впечатление, что должны быть более простые решения алгоритмические. |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |