PHP 4.0 Bug #7444: General reference problems
| From: | heathm at effinitylabs dot com | Date: | Tue, 24 Oct 2000 23:37:51 +0000 |
| Subject: | PHP 4.0 Bug #7444: General reference problems | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-35968@lists.php.net to get a copy of this message | ||
From: heathm@effinitylabs.com
Operating system: RedHat Linux 7.0/6.2
PHP version: 4.0.3
PHP Bug Type: *General Issues
Bug description: General reference problems
We've been having lots of problems with references (especially storing references to objects in
arrays). We beleive we've narrowed a big part of our problems down to the following example.
<?php
// What's the difference between this...
function foo(&$b) {
global $c;
$c = &$b; // I don't want a COPY of the variable I want a REFERENCE
}
$a = "Start";
foo($a);
$c = "End";
echo $a; // Shouldn't this echo "End" not start?
// ... and this ...
$a = "Start";
$b = &$a;
$c = &$b;
$c = "End";
echo $a; // This echoes "End" as is expected
// The latter works just fine but the former doesn't. Why not?
?>
I posted a similar example on the PHP mailing list only to be told PHP doesn't support C
pointers. What a nice piece of advice. Too bad it doesn't apply here.
This introduces all kinds of problems especially when using objects and trying to create object
container classes.
Thanks,
Mike Heath
EffinityLabs.com
--
Edit Bug report at: http://bugs.php.net/?id=7444&edit=1