php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #708 assignment of a value to a one member variable of a class affects other vars.
Submitted: 1998-08-31 06:47 UTC Modified: 1998-08-31 11:04 UTC
From: hughm at idl dot net dot au Assigned:
Status: Closed Package: Other
PHP Version: 3.0 Final Release OS: linux 2.0.35
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: hughm at idl dot net dot au
New email:
PHP Version: OS:

 

 [1998-08-31 06:47 UTC] hughm at idl dot net dot au
using apache 1.3.0 on a linux 2.0.35 libc5 setup.
(apache configure line)
./configure --prefix=/drives/web/apache_1.3.0 \
                --activate-module=src/modules/extra/mod_auth_mysql.o \
                --activate-module=src/modules/extra/mod_log_mysql.o \
                --activate-module=src/modules/php3/libphp3.a \
                --activate-module=src/modules/standard/mod_rewrite.o \
                --activate-module=src/modules/extra/mod_frontpage.o 


the following script gives un-expected results:

<--snip-->
<html>
<body>
<?
 class simple {
        var $somevar,$differvar;
        function init() {
          $this->$somevar=1;
          echo "this->somevar: ",$this->$somevar,"<BR>";
          $this->$differvar=2;
          echo "this->somevar: ",$this->$somevar,"<BR>";
          echo "this->differvar: ",$this->$differvar,"<BR>";
        }

}
 //main
$tester =new simple;
$tester->init();
?>
</body>
</html>
<--snip-->

<B>expected results:</B>
this->somevar: 1
this->somevar: 1
this->differvar: 2

<B>results obtained:</B>
this->somevar: 1
this->somevar: 2
this->differvar: 2

hashing problem ?
regex problem ?

Regards,
Hugh Madden


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [1998-08-31 11:04 UTC] zeev
c. none of the above - script problem

I think you could have figured that this was way too basic
to be a bug :)

Turn on error reporting all the way up by calling
error_reporting(E_ALL)
or, if you have the old 3.00,
error_reporting(13)
and I'm sure you'll figure where you were wrong.

Properties are not referenced like this:
$foo->$bar
but like this
$foo->bar

$foo->$bar has a totally different meaning.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Oct 27 16:01:27 2024 UTC