Annotation of embedaddon/php/ext/standard/tests/serialize/serialization_arrays_001.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test serialize() & unserialize() functions: arrays (circular references)
        !             3: --INI--
        !             4: serialize_precision=100
        !             5: --FILE--
        !             6: <?php 
        !             7: /* Prototype  : proto string serialize(mixed variable)
        !             8:  * Description: Returns a string representation of variable (which can later be unserialized) 
        !             9:  * Source code: ext/standard/var.c
        !            10:  * Alias to functions: 
        !            11:  */
        !            12: /* Prototype  : proto mixed unserialize(string variable_representation)
        !            13:  * Description: Takes a string representation of variable and recreates it 
        !            14:  * Source code: ext/standard/var.c
        !            15:  * Alias to functions: 
        !            16:  */
        !            17: 
        !            18: echo "\n--- Testing Circular reference of an array ---\n";
        !            19: 
        !            20: echo "-- Normal array --\n";
        !            21: $arr_circ = array(0, 1, -2, 3.333333, "a", array(), &$arr_circ);
        !            22: $serialize_data = serialize($arr_circ);
        !            23: var_dump( $serialize_data );
        !            24: $arr_circ = unserialize($serialize_data);
        !            25: var_dump( $arr_circ );
        !            26: 
        !            27: echo "\n-- Associative array --\n";
        !            28: $arr_asso = array("a" => "test");
        !            29: $arr_asso[ "b" ] = &$arr_asso[ "a" ];
        !            30: var_dump($arr_asso);
        !            31: $serialize_data = serialize($arr_asso);
        !            32: var_dump($serialize_data);
        !            33: $arr_asso = unserialize($serialize_data);
        !            34: var_dump($arr_asso);
        !            35: 
        !            36: echo "\nDone";
        !            37: ?>
        !            38: --EXPECTF--
        !            39: --- Testing Circular reference of an array ---
        !            40: -- Normal array --
        !            41: string(238) "a:7:{i:0;i:0;i:1;i:1;i:2;i:-2;i:3;d:3.333333000000000101437080957111902534961700439453125;i:4;s:1:"a";i:5;a:0:{}i:6;a:7:{i:0;i:0;i:1;i:1;i:2;i:-2;i:3;d:3.333333000000000101437080957111902534961700439453125;i:4;s:1:"a";i:5;a:0:{}i:6;R:8;}}"
        !            42: array(7) {
        !            43:   [0]=>
        !            44:   int(0)
        !            45:   [1]=>
        !            46:   int(1)
        !            47:   [2]=>
        !            48:   int(-2)
        !            49:   [3]=>
        !            50:   float(3.333333)
        !            51:   [4]=>
        !            52:   string(1) "a"
        !            53:   [5]=>
        !            54:   array(0) {
        !            55:   }
        !            56:   [6]=>
        !            57:   &array(7) {
        !            58:     [0]=>
        !            59:     int(0)
        !            60:     [1]=>
        !            61:     int(1)
        !            62:     [2]=>
        !            63:     int(-2)
        !            64:     [3]=>
        !            65:     float(3.333333)
        !            66:     [4]=>
        !            67:     string(1) "a"
        !            68:     [5]=>
        !            69:     array(0) {
        !            70:     }
        !            71:     [6]=>
        !            72:     *RECURSION*
        !            73:   }
        !            74: }
        !            75: 
        !            76: -- Associative array --
        !            77: array(2) {
        !            78:   ["a"]=>
        !            79:   &string(4) "test"
        !            80:   ["b"]=>
        !            81:   &string(4) "test"
        !            82: }
        !            83: string(37) "a:2:{s:1:"a";s:4:"test";s:1:"b";R:2;}"
        !            84: array(2) {
        !            85:   ["a"]=>
        !            86:   &string(4) "test"
        !            87:   ["b"]=>
        !            88:   &string(4) "test"
        !            89: }
        !            90: 
        !            91: Done

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