array(), array(1,2,array()), "string", new stdclass
),
&$arr_var, // Reference to an array
/* nulls */
NULL,
null,
/* strings */
"",
'',
" ",
' ',
"a",
"string",
'string',
"hello\0",
'hello\0',
"123",
'123',
'\t',
"\t",
/* booleans */
TRUE,
true,
FALSE,
false,
/* Mixed types */
@TRUE123,
"123string",
"string123",
"NULLstring",
/* unset/undefined vars */
@$unset_var,
@$undefined_var,
);
/* Loop through to test each element in the above array */
for( $i = 0; $i < count($Variation_arr); $i++ ) {
echo "\n-- Iteration $i --\n";
echo "after serialization => ";
$serialize_data = serialize($Variation_arr[$i]);
var_dump( $serialize_data );
echo "after unserialization => ";
$unserialize_data = unserialize($serialize_data);
var_dump( $unserialize_data );
}
echo "\nDone";
?>
--EXPECTF--
--- Testing Various Types ---
-- Iteration 0 --
after serialization => string(13) "i:2147483647;"
after unserialization => int(2147483647)
-- Iteration 1 --
after serialization => string(14) "i:-2147483647;"
after unserialization => int(-2147483647)
-- Iteration 2 --
after serialization => string(13) "d:2147483648;"
after unserialization => float(2147483648)
-- Iteration 3 --
after serialization => string(14) "d:-2147483648;"
after unserialization => float(-2147483648)
-- Iteration 4 --
after serialization => string(12) "i:267387171;"
after unserialization => int(267387171)
-- Iteration 5 --
after serialization => string(13) "i:-267387171;"
after unserialization => int(-267387171)
-- Iteration 6 --
after serialization => string(13) "i:2147483647;"
after unserialization => int(2147483647)
-- Iteration 7 --
after serialization => string(14) "i:-2147483647;"
after unserialization => int(-2147483647)
-- Iteration 8 --
after serialization => string(13) "d:2147483648;"
after unserialization => float(2147483648)
-- Iteration 9 --
after serialization => string(14) "d:-2147483648;"
after unserialization => float(-2147483648)
-- Iteration 10 --
after serialization => string(9) "i:342391;"
after unserialization => int(342391)
-- Iteration 11 --
after serialization => string(10) "i:-342391;"
after unserialization => int(-342391)
-- Iteration 12 --
after serialization => string(6) "a:0:{}"
after unserialization => array(0) {
}
-- Iteration 13 --
after serialization => string(57) "a:5:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:12345666;i:4;i:-2344;}"
after unserialization => array(5) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(12345666)
[4]=>
int(-2344)
}
-- Iteration 14 --
after serialization => string(303) "a:16:{i:0;i:0;i:1;i:1;i:2;i:2;i:3;d:3.3330000000000001847411112976260483264923095703125;i:4;i:-4;i:5;d:-5.55499999999999971578290569595992565155029296875;i:6;b:1;i:7;b:0;i:8;N;i:9;s:0:"";i:10;s:0:"";i:11;s:1:" ";i:12;a:0:{}i:13;a:3:{i:0;i:1;i:1;i:2;i:2;a:0:{}}i:14;s:6:"string";i:15;O:8:"stdClass":0:{}}"
after unserialization => array(16) {
[0]=>
int(0)
[1]=>
int(1)
[2]=>
int(2)
[3]=>
float(3.333)
[4]=>
int(-4)
[5]=>
float(-5.555)
[6]=>
bool(true)
[7]=>
bool(false)
[8]=>
NULL
[9]=>
string(0) ""
[10]=>
string(0) ""
[11]=>
string(1) " "
[12]=>
array(0) {
}
[13]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(0) {
}
}
[14]=>
string(6) "string"
[15]=>
object(stdClass)#2 (0) {
}
}
-- Iteration 15 --
after serialization => string(129) "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:1:{i:0;N;}}"