void square(int x, int& result)
{
result = x*x;
}
php можно так же?
Спустя 15 минут, 46 секунд (22.08.2010 - 12:52) Mizka написал(а):
PHP - язык з динамичной типизацией, по этому не обязательно указывать тип переменной (но можно в методах класса), а передавать объекты по ссылке можно:
хотя в данном примере принципиальных различий не видно![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
если я суть вопроса правильно понял
$x = 5;
$y = $x; // в php5+ создается ссылка на $x
echo square ($x, $y);
function square($x, &$x){
return $x*$x;
}
хотя в данном примере принципиальных различий не видно
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
если я суть вопроса правильно понял
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 13 минут, 44 секунды (22.08.2010 - 13:06) chmulker написал(а):
php возвращает значение через return. а через result я так понимаю что нельзя...
Спустя 4 минуты, 17 секунд (22.08.2010 - 13:11) Mizka написал(а):
ну наверно result = return
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 3 минуты, 12 секунд (22.08.2010 - 13:14) waldicom написал(а):
Сравните вывод этих двух конструкций (различие только в одном знаке):
$x = 5;
$result = 100;
echo $result;
echo square ($x, $result) . '<br />';
echo $result;
function square($x, $result){
$result = $x*$x;
}
$x = 5;
$result = 100;
echo $result;
echo square ($x, $result) . '<br />';
echo $result;
function square($x, &$result){
$result = $x*$x;
}
Спустя 11 минут, 4 секунды (22.08.2010 - 13:25) Mizka написал(а):
ну так все правильно... в первом случае мы работаем с переменной $result видимость которой в пределах функции square(), а во втором варианте мы передаем ссылку на ранее определенную переменную ризалт и оверлоадим её вот и получаются разные результаты... хотя довольно занимательно
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 2 минуты, 29 секунд (22.08.2010 - 13:27) waldicom написал(а):
Цитата (Mizka @ 22.08.2010 - 12:25) |
ну так все правильно... в первом случае мы работаем с переменной $result видимость которой в пределах функции square(), а во втором варианте мы передаем ссылку на ранее определенную переменную ризалт и оверлоадим её вот и получаются разные результаты... хотя довольно занимательно ![]() |
Это ты сейчас для кого объяснял?
Спустя 1 минута, 17 секунд (22.08.2010 - 13:29) Mizka написал(а):
Цитата |
Сравните вывод этих двух конструкций |
ну я и сравнил
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 3 минуты, 14 секунд (22.08.2010 - 13:32) waldicom написал(а):
Цитата (Mizka @ 22.08.2010 - 12:29) | ||
ну я и сравнил ![]() ![]() |
Я писал это для топикстартера, чтобы показать ему, что такая конструкция в php есть. Какие могут быть замечания?
Спустя 6 минут, 4 секунды (22.08.2010 - 13:38) Mizka написал(а):
Цитата |
Сравните вывод этих двух конструкций |
ми скюзи, но это прозвучало как во множественном числе, думал и меня касается
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Цитата |
void square(int x, int& result) |
топикстартер знает, что такое передача объекта по ссылке.. так что ему это не в убыток
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
Спустя 1 минута, 47 секунд (22.08.2010 - 13:40) waldicom написал(а):
Цитата (Mizka @ 22.08.2010 - 12:38) |
ми скюзи, но это прозвучало как во множественном числе, думал и меня касается smile.gif |
не, это я типа такой вежливый
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
_____________