????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 18.189.143.114 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/standard/tests/general_functions/ |
Upload File : |
--TEST-- Test debug_zval_dump() function : working on objects --SKIPIF-- <?php if (PHP_ZTS) { print "skip only for no-zts build"; } --FILE-- <?php /* Prototype: void debug_zval_dump ( mixed $variable ); Description: Dumps a string representation of an internal zend value to output. */ /* Prototype: void zval_dump( $value ); Description: use debug_zval_dump() to display the objects and its reference count */ function zval_dump( $values ) { $counter = 1; foreach( $values as $value ) { echo "-- Iteration $counter --\n"; debug_zval_dump( $value ); $counter++; } } /* checking on objects type */ echo "*** Testing debug_zval_dump() on objects ***\n"; class object_class { var $value1 = 1; private $value2 = 10; protected $value3 = 20; public $value4 = 30; private function foo1() { echo "function foo1\n"; } protected function foo2() { echo "function foo2\n"; } public function foo3() { echo "function foo3\n"; } public $array_var = array( "key1" => 1, "key2 " => 3); function object_class () { $this->value1 = 5; $this->object_class1 = $this; } } class no_member_class{ //no members } /* class with member as object of other class */ class contains_object_class { var $p = 30; protected $p1 = 40; private $p2 = 50; var $class_object1; public $class_object2; private $class_object3; protected $class_object4; var $no_member_class_object; public function func() { echo "func() is called \n"; } function contains_object_class () { $this->class_object1 = new object_class(); $this->class_object2 = new object_class(); $this->class_object3 = $this->class_object1; $this->class_object4 = $this->class_object2; $this->no_member_class_object = new no_member_class(); $this->class_object5 = $this; //recursive reference } } /* creating new object $obj */ $obj = new contains_object_class(); $obj1 = & $obj; //object $obj1 references object $obj $obj2 = & $obj; $obj3 = & $obj2; /* object which is unset */ $unset_obj = new object_class(); unset($unset_obj); $objects = array ( new object_class, new no_member_class, $obj, $obj->class_object1, $obj->class_object2, $obj->no_member_class_object, @$temp_class_obj, //undefined object $obj2->class_object1, $obj3->class_object2, $obj2->class_object1->value4, @$unset_obj ); /* using zval_dump() to dump out the objects and its reference count */ zval_dump($objects); $int_var = 500; $obj = $int_var; //$obj is lost, $obj1,$obj2,$obj3,$obj4 = 500 echo "\n-- Testing debug_zval_dump() on overwritten object variables --\n"; debug_zval_dump($obj, $obj1, $obj2, $obj3); echo "\n-- Testing debug_zval_dump() on objects having circular reference --\n"; $recursion_obj1 = new object_class(); $recursion_obj2 = new object_class(); $recursion_obj1->obj = &$recursion_obj2; //circular reference $recursion_obj2->obj = &$recursion_obj1; //circular reference debug_zval_dump($recursion_obj2); echo "Done\n"; ?> --EXPECTF-- *** Testing debug_zval_dump() on objects *** -- Iteration 1 -- object(object_class)#%d (6) refcount(5){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(5){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } -- Iteration 2 -- object(no_member_class)#%d (0) refcount(4){ } -- Iteration 3 -- object(contains_object_class)#%d (9) refcount(4){ ["p"]=> long(30) refcount(2) ["p1":protected]=> long(40) refcount(2) ["p2":"contains_object_class":private]=> long(50) refcount(2) ["class_object1"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } ["class_object2"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } ["class_object3":"contains_object_class":private]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } ["class_object4":protected]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } ["no_member_class_object"]=> object(no_member_class)#%d (0) refcount(3){ } ["class_object5"]=> object(contains_object_class)#%d (9) refcount(1){ ["p"]=> long(30) refcount(2) ["p1":protected]=> long(40) refcount(2) ["p2":"contains_object_class":private]=> long(50) refcount(2) ["class_object1"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } ["class_object2"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } ["class_object3":"contains_object_class":private]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } ["class_object4":protected]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(7){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } ["no_member_class_object"]=> object(no_member_class)#%d (0) refcount(3){ } ["class_object5"]=> *RECURSION* } } -- Iteration 4 -- object(object_class)#%d (6) refcount(9){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(9){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } -- Iteration 5 -- object(object_class)#%d (6) refcount(9){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(9){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } -- Iteration 6 -- object(no_member_class)#%d (0) refcount(5){ } -- Iteration 7 -- NULL refcount(1) -- Iteration 8 -- object(object_class)#%d (6) refcount(9){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(9){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } -- Iteration 9 -- object(object_class)#%d (6) refcount(9){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (6) refcount(9){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(5) ["value3":protected]=> long(20) refcount(5) ["value4"]=> long(30) refcount(7) ["array_var"]=> array(2) refcount(5){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* } } -- Iteration 10 -- long(30) refcount(9) -- Iteration 11 -- NULL refcount(1) -- Testing debug_zval_dump() on overwritten object variables -- long(500) refcount(1) long(500) refcount(1) long(500) refcount(1) long(500) refcount(1) -- Testing debug_zval_dump() on objects having circular reference -- object(object_class)#%d (7) refcount(1){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(7) ["value3":protected]=> long(20) refcount(7) ["value4"]=> long(30) refcount(8) ["array_var"]=> array(2) refcount(7){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (7) refcount(1){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(7) ["value3":protected]=> long(20) refcount(7) ["value4"]=> long(30) refcount(8) ["array_var"]=> array(2) refcount(7){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* ["obj"]=> &object(object_class)#%d (7) refcount(2){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(7) ["value3":protected]=> long(20) refcount(7) ["value4"]=> long(30) refcount(8) ["array_var"]=> array(2) refcount(7){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (7) refcount(1){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(7) ["value3":protected]=> long(20) refcount(7) ["value4"]=> long(30) refcount(8) ["array_var"]=> array(2) refcount(7){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* ["obj"]=> *RECURSION* } ["obj"]=> *RECURSION* } } ["obj"]=> &object(object_class)#%d (7) refcount(2){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(7) ["value3":protected]=> long(20) refcount(7) ["value4"]=> long(30) refcount(8) ["array_var"]=> array(2) refcount(7){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> object(object_class)#%d (7) refcount(1){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(7) ["value3":protected]=> long(20) refcount(7) ["value4"]=> long(30) refcount(8) ["array_var"]=> array(2) refcount(7){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* ["obj"]=> &object(object_class)#%d (7) refcount(2){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(7) ["value3":protected]=> long(20) refcount(7) ["value4"]=> long(30) refcount(8) ["array_var"]=> array(2) refcount(7){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* ["obj"]=> *RECURSION* } } ["obj"]=> &object(object_class)#%d (7) refcount(2){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(7) ["value3":protected]=> long(20) refcount(7) ["value4"]=> long(30) refcount(8) ["array_var"]=> array(2) refcount(7){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* ["obj"]=> &object(object_class)#%d (7) refcount(2){ ["value1"]=> long(5) refcount(1) ["value2":"object_class":private]=> long(10) refcount(7) ["value3":protected]=> long(20) refcount(7) ["value4"]=> long(30) refcount(8) ["array_var"]=> array(2) refcount(7){ ["key1"]=> long(1) refcount(1) ["key2 "]=> long(3) refcount(1) } ["object_class1"]=> *RECURSION* ["obj"]=> *RECURSION* } } } } Done