Скажите пожалуйста что делает и какой смысл в этой конструкции?
$param = & my_func();
Спасибо.
Спустя 14 минут, 53 секунды (23.07.2010 - 23:11) Basili4 написал(а):
переменой $param передается сылка на функцию
Спустя 8 минут, 37 секунд (23.07.2010 - 23:20) web-dev написал(а):
и что теперь её можно вызывать $param() ?
Спустя 1 минута, 32 секунды (23.07.2010 - 23:21) Basili4 написал(а):
web-dev
её можно передать как парметр
её можно передать как парметр
Спустя 3 минуты, 24 секунды (23.07.2010 - 23:25) web-dev написал(а):
а пример можно привести? я тупой.
Спустя 6 минут, 49 секунд (23.07.2010 - 23:32) DedMorozzz написал(а):
$a=2;Иль не достаточно?
function aaa(&$a){
$a=5;
}
aaa($a);
echo $a; //5
Спустя 2 минуты, 38 секунд (23.07.2010 - 23:34) web-dev написал(а):
не, мне пример где переменная хранит ссылку на функцию хотелось бы
Спустя 58 минут, 50 секунд (24.07.2010 - 00:33) ZSH написал(а):
class A
{
куча свйств, методов
допустим 50кБ
}
$classA = new A
class B
{
а тут на нам надо узнать каое-то свойство из class A
принимаем & $classA и работаем с данными class A
}
Спустя 1 минута, 43 секунды (24.07.2010 - 00:35) ZSH написал(а):
ИМХО
при процедурном подходе это нафиг не нужно
при процедурном подходе это нафиг не нужно
Спустя 3 часа, 1 минута, 3 секунды (24.07.2010 - 03:36) Wird_34 написал(а):
Цитата (web-dev @ 24.07.2010 - 02:56) |
$param = & my_func(); |
У меня подобная инструкция вызывает ошибку:
Цитата |
Strict Standards: Only variables should be assigned by reference in ... |
Спустя 3 часа, 5 минут, 15 секунд (24.07.2010 - 06:41) twin написал(а):
На сколько я помню, эта хрень deprecated для функций(методов) в 5.3 и выше. Или вообще не работает...
Спустя 4 часа, 1 минута, 13 секунд (24.07.2010 - 10:42) web-dev написал(а):
Спасибо. В общем понятно что не очень полезная хрень эта ссылка на функцию. (в книжке прочитал просто, интересно стало.... старая книжка)
Спустя 1 час, 45 минут, 51 секунда (24.07.2010 - 12:28) Stiven Rain написал(а):
Вот примерчик:
<?php
function my_func(){
return 25*5;
}
function function1(& $variable){
return $variable*100;
}
$param = & my_func();
echo function1($param);
?>
<?php
function my_func(){
return 25*5;
}
function function1(& $variable){
return $variable*100;
}
$param = & my_func();
echo function1($param);
?>
Спустя 6 минут, 18 секунд (24.07.2010 - 12:34) Basili4 написал(а):
Да у меня работает но практического применения я не вижу
Спустя 19 минут, 40 секунд (24.07.2010 - 12:54) Michael написал(а):
Объясняю. Называется - возвращение ссылки:
$b будет ссылкой на $a. Где-то в старом коде такое встречал, вы же помните, что в php4 объекты по умолчанию не адресовались по ссылке и приходилось изобретать.
$a = 'xxx';
$b = & xxx($a);
echo $a, '<br>', $b; // выведет: "xxxp" и "xxxp"
$b = 100;
echo '<hr>';
echo $a, '<br>', $b; // выведет: 100 и 100
function & xxx(&$a) {
$a = $a . 'p';
return $a;
}
$b будет ссылкой на $a. Где-то в старом коде такое встречал, вы же помните, что в php4 объекты по умолчанию не адресовались по ссылке и приходилось изобретать.
_____________
IT - это такая область, что приходится постоянно бежать вперед, чтобы оставаться на месте.