|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #1222 $this point does not contain function list
Submitted: 1999-03-11 14:51 UTC Modified: 1999-03-13 08:34 UTC
From: jonsmirl at mediaone dot net Assigned:
Status: Closed Package: Other
PHP Version: 3.0.7 OS: Win95
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 this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Bug Type:
From: jonsmirl at mediaone dot net
New email:
PHP Version: OS:


 [1999-03-11 14:51 UTC] jonsmirl at mediaone dot net
A pointer to an object is not behaving the same as the $this pointer inside of the same object.

$obj = new oObject;

class oObject {
    function checkme($obj) { 

// this list will include the member function and properties
        while ( list( $key, $val ) = each( $obj ) ) { 
            printf("AA %s => %s (%s)", $key, $val, gettype($val)); 

// this list only shows the properties
        while ( list( $key, $val ) = each( $this ) ) { 
            printf("BB %s => %s (%s)", $key, $val, gettype($val)); 

I would have expected the $this pointer to provide me with the list of functions too.

I need this function list to construct a remote proxy to the object.

Jon Smirl


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [1999-03-13 08:34 UTC] sas
You are not resetting the object properly. This works:

class Object {
    function checkme($obj) {

        while(list($key, $val) = each($obj)) {
            printf("AA %s => %s (%s)\n", $key, $val, gettype($val));


        while(list($key, $val) = each($this)) {
            printf("BB %s => %s (%s)\n", $key, $val, gettype($val));

$obj = new Object;

PHP Copyright © 2001-2023 The PHP Group
All rights reserved.
Last updated: Wed Nov 29 08:01:28 2023 UTC