From:             jmarbas at hotmail dot com
Operating system: Windows XP
PHP version:      5.0.3
PHP Bug Type:     Class/Object related
Bug description:  count() doesnt count class members properly

Description:
------------
When I try to count the number of non-static members of an object with the
count() function, I always get a count of 1. The code below shows both a
user defined class and the standard class(StdClass) instances with more
than 1 member variable each but the count() still comes out to 1.



Reproduce code:
---------------
  class jerry{
    public $foo='A property';
    public $bar='Another property';
  }
  $obj1 = new jerry();
  echo $obj1->foo."\n";
  echo $obj1->bar."\n";
printf("The count is %d\n",count($obj1));

  $obj = new StdClass;
  $obj->foo='A property';
  $obj->bar='Another property';
  $obj->bleh='asdf';
  echo $obj->foo."\n";
  echo $obj->bar."\n";
  echo $obj->bleh."\n";
  printf("The count is %d\n",count($obj));

Expected result:
----------------
I expect the count() function to count all non-static member variables
just like it says in the count() description on php.net

Actual result:
--------------
The actual count() is 1 for both objects in the code pasted above.

-- 
Edit bug report at http://bugs.php.net/?id=31977&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=31977&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=31977&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=31977&r=trysnapshot51
Fixed in CVS:                http://bugs.php.net/fix.php?id=31977&r=fixedcvs
Fixed in release:            http://bugs.php.net/fix.php?id=31977&r=alreadyfixed
Need backtrace:              http://bugs.php.net/fix.php?id=31977&r=needtrace
Need Reproduce Script:       http://bugs.php.net/fix.php?id=31977&r=needscript
Try newer version:           http://bugs.php.net/fix.php?id=31977&r=oldversion
Not developer issue:         http://bugs.php.net/fix.php?id=31977&r=support
Expected behavior:           http://bugs.php.net/fix.php?id=31977&r=notwrong
Not enough info:             
http://bugs.php.net/fix.php?id=31977&r=notenoughinfo
Submitted twice:             
http://bugs.php.net/fix.php?id=31977&r=submittedtwice
register_globals:            http://bugs.php.net/fix.php?id=31977&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=31977&r=php3
Daylight Savings:            http://bugs.php.net/fix.php?id=31977&r=dst
IIS Stability:               http://bugs.php.net/fix.php?id=31977&r=isapi
Install GNU Sed:             http://bugs.php.net/fix.php?id=31977&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=31977&r=float
No Zend Extensions:          http://bugs.php.net/fix.php?id=31977&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=31977&r=mysqlcfg

Reply via email to