On Wed, Jan 14, 2004 at 04:33:13AM -0500, John Coggeshall wrote:
> I know that this issue to some extent or another has been brought up
> before, but I just wanted to make sure that this is really how things
> are supposed to work... Apparently the statements setting B C and D
> are all equivalent.
>
> This could be absolutely bogus, but I thought maybe someone could
> explain briefly why if it is :)
"B" and "C" are equivalent but "D" is somethig else.
"B" and "C" set the property named by the value of $myvar.
in "D" the variable-name is '$myvar' (not 'myvar').
if you set
$myvar = "foo";
${'$myvar'} = "bar";
then "B" and "C" will set $this->foo, but "D" will set $this->bar.
it's not that bogus.
greetings
messju
> John
>
> <?php
> class weird {
>
> var $myvar;
>
> function __construct() {
>
> $this->myvar = "A";
> $this->$myvar = "B";
> $this->${'myvar'} = "C";
> $this->${'$myvar'} = "D";
>
> echo 'this->myvar: '.$this->myvar."\n";
> echo 'this->$myvar: '.$this->$myvar."\n";
> echo 'this->${\'myvar\'}: '.$this->${'myvar'}."\n";
> echo 'this->${\'$myvar\'}: '.$this->${'$myvar'}."\n";
> echo 'this->$$$$$$$myvar: '.$this->$$$$$$$myvar."\n";
> echo 'this->$$$$$$${\'$$$myvar\'}: ' .
> $this->$$$$$$${'$$$myvar'}."\n";
>
> }
> }
>
> ?>
> --
> -=~=--=~=--=~=--=~=--=~=--=~=--=~=--=~=--=~=--=~=--=~=--=~=-
> John Coggeshall http://www.coggeshall.org/
> The PHP Developer's Handbook http://www.php-handbook.com/
> -=~=--=~=--=~=--=~=--=~=--=~=--=~=--=~=--=~=--=~=--=~=--=~=-
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php