Annotation of embedaddon/php/ext/standard/tests/serialize/serialization_arrays_001.phpt, revision 1.1.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>