Annotation of embedaddon/php/ext/standard/tests/array/array_key_exists_object1.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test array_key_exists() function : object functionality
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : bool array_key_exists(mixed $key, array $search)
                      6:  * Description: Checks if the given key or index exists in the array 
                      7:  * Source code: ext/standard/array.c
                      8:  * Alias to functions: key_exists
                      9:  */
                     10: 
                     11: /*
                     12:  * Test basic functionality of array_key_exists() with objects
                     13:  */
                     14: 
                     15: echo "*** Testing array_key_exists() : object functionality ***\n";
                     16: 
                     17: class myClass {
                     18:        var $var1;
                     19:        var $var2;
                     20:        var $var3;
                     21:        
                     22:        function __construct($a, $b, $c = null) {
                     23:                $this->var1 = $a;
                     24:                $this->var2 = $b;
                     25:                if (!is_null($c)) {
                     26:                        $this->var3 = $c;
                     27:                }
                     28:        }
                     29: }
                     30: 
                     31: echo "\n-- Do not assign a value to \$class1->var3 --\n";
                     32: $class1 = new myClass ('a', 'b');
                     33: echo "\$key = var1:\n";
                     34: var_dump(array_key_exists('var1', $class1));
                     35: echo "\$key = var3:\n";
                     36: var_dump(array_key_exists('var3', $class1));
                     37: echo "\$class1:\n";
                     38: var_dump($class1);
                     39: 
                     40: echo "\n-- Assign a value to \$class2->var3 --\n";
                     41: $class2 = new myClass('x', 'y', 'z');
                     42: echo "\$key = var3:\n";
                     43: var_dump(array_key_exists('var3', $class2));
                     44: echo "\$class2:\n";
                     45: var_dump($class2);
                     46: 
                     47: echo "Done";
                     48: ?>
                     49: 
                     50: --EXPECTF--
                     51: *** Testing array_key_exists() : object functionality ***
                     52: 
                     53: -- Do not assign a value to $class1->var3 --
                     54: $key = var1:
                     55: bool(true)
                     56: $key = var3:
                     57: bool(true)
                     58: $class1:
                     59: object(myClass)#1 (3) {
                     60:   [%b|u%"var1"]=>
                     61:   %unicode|string%(1) "a"
                     62:   [%b|u%"var2"]=>
                     63:   %unicode|string%(1) "b"
                     64:   [%b|u%"var3"]=>
                     65:   NULL
                     66: }
                     67: 
                     68: -- Assign a value to $class2->var3 --
                     69: $key = var3:
                     70: bool(true)
                     71: $class2:
                     72: object(myClass)#2 (3) {
                     73:   [%b|u%"var1"]=>
                     74:   %unicode|string%(1) "x"
                     75:   [%b|u%"var2"]=>
                     76:   %unicode|string%(1) "y"
                     77:   [%b|u%"var3"]=>
                     78:   %unicode|string%(1) "z"
                     79: }
                     80: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>