--TEST-- Test array_key_exists() function : object functionality --FILE-- var1 = $a; $this->var2 = $b; if (!is_null($c)) { $this->var3 = $c; } } } echo "\n-- Do not assign a value to \$class1->var3 --\n"; $class1 = new myClass ('a', 'b'); echo "\$key = var1:\n"; var_dump(array_key_exists('var1', $class1)); echo "\$key = var3:\n"; var_dump(array_key_exists('var3', $class1)); echo "\$class1:\n"; var_dump($class1); echo "\n-- Assign a value to \$class2->var3 --\n"; $class2 = new myClass('x', 'y', 'z'); echo "\$key = var3:\n"; var_dump(array_key_exists('var3', $class2)); echo "\$class2:\n"; var_dump($class2); echo "Done"; ?> --EXPECTF-- *** Testing array_key_exists() : object functionality *** -- Do not assign a value to $class1->var3 -- $key = var1: Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d NULL $key = var3: Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d NULL $class1: object(myClass)#%d (3) { [u"var1"]=> unicode(1) "a" [u"var2"]=> unicode(1) "b" [u"var3"]=> NULL } -- Assign a value to $class2->var3 -- $key = var3: Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d NULL $class2: object(myClass)#%d (3) { [u"var1"]=> unicode(1) "x" [u"var2"]=> unicode(1) "y" [u"var3"]=> unicode(1) "z" } Done