ID:               15871
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Bogus
 Bug Type:         Variables related
 Operating System: linux
 PHP Version:      4.1.2
 New Comment:

Just to give you a better answer here.  Consider $$a->b
Does this mean the the class name $$a with the property b or  the
variable property $a->b?  See the vagueness here?  It could be
interpreted as either ${$a->b} or {$$a}->b.  That's why the {}'s are
needed to resolve this ambiguity.


Previous Comments:
------------------------------------------------------------------------

[2002-03-05 07:22:00] [EMAIL PROTECTED]

Actually this isn't a bug, but just 'how things work'.

regards,
Derick

------------------------------------------------------------------------

[2002-03-05 07:13:34] [EMAIL PROTECTED]

When using a variable variable in a class, $$this->varname does not
work, ${$this->varname} must be used. 

Here is a simple script to show this in action. Put the {} in and it
will work:

<?
$id = "yes";

class testClass {
        var $varname;
        
        function testClass($varname) {
                $this->varname = $varname;
        }
        
        function foo() {
                global $$this->varname;
                
                echo "$".$this->varname." is ".$$this->varname;
        }
}

$test = new testClass("id");
$test->foo();

?>

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=15871&edit=1

Reply via email to