ID: 35822 User updated by: mattias dot segerdahl at bitcom dot se Reported By: mattias dot segerdahl at bitcom dot se -Status: Bogus +Status: Open -Bug Type: Unknown/Other Function +Bug Type: Documentation problem Operating System: All PHP Version: 5.1.1 New Comment:
Manual entries for var_dump and print_r contradicts eachother, this behaviour is not to be expected. Please follow your own words and read the manual before setting bug to bogus. Previous Comments: ------------------------------------------------------------------------ [2005-12-28 11:39:32] [EMAIL PROTECTED] That's how they should work, this is expected behaviour. ------------------------------------------------------------------------ [2005-12-28 11:12:39] mattias dot segerdahl at bitcom dot se http://www.php.net/manual/ says: print_r() and var_export() will also show protected and private properties of objects with PHP 5, on the contrary to var_dump(). Ok, i'm game with that, no biggie, I still believe it's the wrong arpoch, print_r and var_export should only show private/protected if used within the class. But, let's look at the documentation that you refered me to. Reading it, it belive that var_dump would not report these, so, I had a look there as well.. >From var_dump: In PHP 5 only public, private and protected properties of objects will be returned in the output. ------------------------------------------------------------------------ [2005-12-27 23:49:58] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php ------------------------------------------------------------------------ [2005-12-27 23:38:38] mattias dot segerdahl at bitcom dot se Description: ------------ print_r($Class) displays private/protected.. Reproduce code: --------------- <?php class foo { private $bar = array(); protected $foobar = array(); public function __construct() { $this->bar['blah'] = 'asfdsdf'; $this->foobar['blah'] = '0as87d'; } } try { $f = new foo(); print_r($f); } catch (exception $e) { die($e->getMessage()); } ?> Expected result: ---------------- foo Object ( [bar:private] => Array ( [blah] => ) [foobar:protected] => Array ( [blah] => ) ) Actual result: -------------- foo Object ( [bar:private] => Array ( [blah] => asfdsdf ) [foobar:protected] => Array ( [blah] => 0as87d ) ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35822&edit=1