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

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to