PH7 icon indicating copy to clipboard operation
PH7 copied to clipboard

Serialization of arrays does not work as expected

Open morpheouss opened this issue 7 years ago • 3 comments

$GLOBALS is an associative array which contains the following value: Array(10) { [_SERVER] => Array(1) { [SCRIPT_FILENAME] => test.ph7 } [_GET] => Array(0) { } [_POST] => Array(0) { } [_FILES] => Array(0) { } [_COOKIE] => Array(0) { } [_SESSION] => Array(0) { } [_REQUEST] => Array(0) { } [_ENV] => Array(0) { } [_HEADER] => Array(0) { } [argv] => Array(0) { } }

Anyway the following code: var_dump(unserialize(serialize($GLOBALS))); produces the following output: array(10) { [0] => array(1) { [0] => string(8 'test.ph7') } [1] => array(0) { } [2] => array(0) { } [3] => array(0) { } [4] => array(0) { } [5] => array(0) { } [6] => array(0) { } [7] => array(0) { } [8] => array(0) { } [9] => array(0) { } }

As you can see, they array somehow got converted from associative to numeric.

morpheouss avatar Jun 28 '18 08:06 morpheouss

If the target array to serialize is empty, then the serialize() function is a noop.

symisc avatar Jun 28 '18 20:06 symisc

Dont you see that in this particular case both $GLOBALS and $GLOBALS['_SERVER'] are not empty arrays? They got converted from associative to numeric and this is IMHO a bug.

morpheouss avatar Jun 29 '18 04:06 morpheouss

Why close?

morpheouss avatar Jun 30 '18 11:06 morpheouss