|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-05-30 21:08 UTC] nandi-nospam1 at harem dot dev dot hu
The documentation says that the get_class_vars() method should return an array only with the properties wich had DEFAULT values already at class definition. That worked fine with PHP 4.1.2 but it's behavior changed with PHP 4.2.[0 or 1] because it displays also those properties which has no default values at definition. I don't really think that this is a bug, but it seems that there was a change in the function behavior and neither the changelog nor the documentation mentions a word about this change.
Example - the following script from the docs:
<?php
class myclass {
var $var1; // this has no default value...
var $var2 = "xyz";
var $var3 = 100;
// constructor
function myclass() {
return(true);
}
}
$my_class = new myclass();
$class_vars = get_class_vars(get_class($my_class));
echo "<pre>";
foreach ($class_vars as $name => $value) {
echo "$name : $value\n";
}
echo "</pre>";
?>
should outuput something like this:
var2 : xyz
var3 : 100
but the result in PHP 4.2.1 is:
var1 :
var2 : xyz
var3 : 100
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Nov 19 19:00:01 2025 UTC |
The documentation says that the get_class_vars() method should return an array only with the properties wich had DEFAULT values already at class definition. That worked fine with PHP 4.1.2 but it's behavior changed with PHP 4.2.[0 or 1] because it displays also those properties which has no default values at definition. I don't really think that this is a bug, but it seems that there was a change in the function behavior and neither the changelog nor the documentation mentions a word about this change. Example - the following script from the docs: <?php class myclass { var $var1; // this has no default value... var $var2 = "xyz"; var $var3 = 100; // constructor function myclass() { return(true); } } $my_class = new myclass(); $class_vars = get_class_vars(get_class($my_class)); echo "<pre>"; foreach ($class_vars as $name => $value) { echo "$name : $value\n"; } echo "</pre>"; ?> should outuput something like this: var2 : xyz var3 : 100 but the result in PHP 4.2.1 is: var1 : var2 : xyz var3 : 100The documentation says that the get_class_vars() method should return an array only with the properties wich had DEFAULT values already at class definition. That worked fine with PHP 4.1.2 but it's behavior changed with PHP 4.2.[0 or 1] because it displays also those properties which has no default values at definition. I don't really think that this is a bug, but it seems that there was a change in the function behavior and neither the changelog nor the documentation mentions a word about this change. Example - the following script from the docs: <?php class myclass { var $var1; // this has no default value... var $var2 = "xyz"; var $var3 = 100; // constructor function myclass() { return(true); } } $my_class = new myclass(); $class_vars = get_class_vars(get_class($my_class)); echo "<pre>"; foreach ($class_vars as $name => $value) { echo "$name : $value\n"; } echo "</pre>"; ?> should outuput something like this: var2 : xyz var3 : 100 but the result in PHP 4.2.1 is: var1 : var2 : xyz var3 : 100