Re: function by reference

From: Date: Tue, 11 Apr 2006 15:42:11 +0000
Subject: Re: function by reference
References: 1 2 3 4  Groups: php.general 
Request: Send a blank email to php-general+get-233769@lists.php.net to get a copy of this message
At 7:31 PM -0700 4/10/06, Ray Hauge wrote:
I believe you're thinking more of the C++ style of returning by reference. This article should help explain how references work, and how to return references... most specifically check the "Returning References" section.
http://www.php.net/manual/en/language.references.php nevermind... I what I read and what was actually written seem to have been two entirely different things ;) Still good info though. -- Ray Hauge
Ray: It was an interesting read -- but, I found it, and the comments, confusing. The difference I was able to get was I know if you display a C pointer, would will see a memory address -- if you display a PHP reference, you will see the value. As such, one is a memory address and the other is a symbol table alias -- but they still seem to work the same. I haven't seen a working difference yet. Additionally, what I don't get is this: <?php $a = 10; echo("$a <br/>"); ref1(&$a); echo("$a <br/>"); $a = 10; echo("$a <br/>"); ref2($a); echo("$a <br/>"); $a = 10; echo("$a <br/>"); ref3($a); echo("$a <br/>"); ?> <?php function ref1($a) { $a--; } ?> <?php function ref2(&$a) { $a--; } ?> <?php function &ref3($a) { $a--; } ?> The first two functions work as I would expect. The last one is shown in the documentation, but doesn't work as I expected. There doesn't appear to be any difference between ref1 and ref3 -- so what's with the "ampersand" in &ref3? What is an ampersand supposed to mean/do when it precedes a function? Thanks. tedd -- -------------------------------------------------------------------------------- http://sperling.com

« previous php.general (#233769) next »