Всем привет!
Недавно натолкнулся на такое понятие в ПХП как возвращение по ссылке функцией. Раньше знал что есть присвоение значения по ссылке:
1. driezer - 14 Ноября, 2008 - 23:52:32 - перейти к сообщению
Может пример не совсем удачный но понятно что $a и $b ccылаются на одно и то же место хранения значения.
Но вот как возвращается значения по ссылке функцией - никак не могу понять!!
Погуглил, пояндексил - дурацкие примеры на этот счет из которых х[а-я]*й че поймешь!
Поэтому написал пару своих .. и все действительно работает .. но НЕ ПОНИМАЮ как!
Каким-то подсознанием я все же дошел до этого но объяснить для себя не могу!
Вот примеры
Пример1:
CODE (text):
скопировать код в буфер обмена
скопировать код в буфер обмена
- $arr = array("one", "two", "free");
- function &ref($str, &$arr)
- {
- foreach($arr as $key => $value)
- {
- if($str == $value)
- {
- return $arr[$key];
- }
- }
- }
- $s =& ref("two", $arr);
- $s = 5;
- print_r($arr);
Пример2:
CODE (text):
скопировать код в буфер обмена
скопировать код в буфер обмена
- class M
- {
- public $my = 8;
- function &N($obj, $var)
- {
- $obj->my = $var;
- return $obj->my;
- }
- }
- $b = new M();
- $c = &$b->N($b, 23);
- $c = 78;
- print_r($b);