3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); enum Color: string { case Yellow = 'yw'; } class Foo { public function __construct( public DateTimeImmutable $date, protected string $foo, private int $bar, public array $tbl = [123, true, 1.1, 'baz'], protected Color $color = Color::Yellow, ) {} } $current = serialize(new Foo(new DateTimeImmutable('now'), "Foo bar\nbaz", 123456789)); var_dump($current); echo "\nReducing by potentially unnecessary chars...\n"; $reductions = []; $replacements = ['"' => '']; $reductions['removing double-quote'] = strtr($current, $replacements); $replacements[';}'] = '}'; $replacements[':{'] = '{'; $reductions['removing previous and array leading double-colon and trailing semi-colon'] = strtr($current, $replacements); $replacements['O:'] = 'O'; $replacements['a:'] = 'a'; $replacements['s:'] = 's'; $replacements['E:'] = 'E'; $reductions['removing previous and leading double-colon of sized types'] = strtr($current, $replacements); $replacements['i:'] = 'i'; $replacements['d:'] = 'd'; $replacements['b:'] = 'b'; $reductions['aggresive removing previous and some double-colons'] = strtr($current, $replacements); foreach ($reductions as $name => $serialized) { printf("\nBy {$name} serialized output shrinks by %0.2f%%\n", (strlen($current) - strlen($serialized)) / strlen($serialized) * 100); var_dump($serialized); }
Output for 8.4.12
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009964";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009964;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009964;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009964;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009964;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.11
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.005143";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.005143;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.005143;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.005143;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.005143;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.10
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.010035";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.010035;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.010035;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.010035;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.010035;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.9
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007894";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007894;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007894;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007894;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007894;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.8
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.004352";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.004352;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.004352;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004352;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004352;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.7
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009963";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009963;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009963;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009963;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009963;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.6
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009877";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009877;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009877;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009877;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009877;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.5
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.008301";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.008301;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.008301;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008301;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008301;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.4
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.010378";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.010378;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.010378;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.010378;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.010378;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.3
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.010227";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.010227;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.010227;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.010227;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.010227;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.2
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009949";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009949;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009949;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009949;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009949;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.4.1
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.004734";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.004734;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.004734;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004734;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004734;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.25
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009069";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009069;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009069;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009069;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009069;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.24
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009501";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009501;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009501;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009501;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009501;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.23
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009813";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009813;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009813;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009813;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009813;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.22
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.003583";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.003583;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.003583;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003583;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003583;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.21
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009674";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009674;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009674;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009674;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009674;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.20
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.004394";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.004394;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.004394;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004394;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004394;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.19
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009340";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009340;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009340;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009340;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009340;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.18
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009665";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009665;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009665;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009665;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009665;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.17
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009166";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009166;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009166;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009166;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009166;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.16
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009394";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009394;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009394;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009394;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009394;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.15
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.003699";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.003699;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.003699;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003699;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003699;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.14
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009167";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009167;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009167;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009167;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009167;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.13
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.004268";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.004268;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.004268;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004268;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004268;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.12
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.004721";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.004721;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.004721;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004721;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004721;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.11
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.003874";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.003874;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.003874;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003874;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003874;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.10
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.003979";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.003979;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.003979;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003979;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003979;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.9
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009483";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009483;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009483;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009483;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009483;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.5
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.004459";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.004459;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.004459;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004459;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004459;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.2
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009742";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009742;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009742;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009742;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009742;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.1
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009326";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009326;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009326;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009326;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009326;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.3.0
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009827";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009827;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009827;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009827;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009827;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.29
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007312";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007312;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007312;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007312;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007312;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.28
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009773";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009773;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009773;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009773;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009773;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.27
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.003607";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.003607;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.003607;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003607;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003607;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.26
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.003942";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.003942;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.003942;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003942;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003942;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.25
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.004031";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.004031;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.004031;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004031;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004031;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.24
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.005820";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.005820;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.005820;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.005820;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.005820;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.23
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.004084";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.004084;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.004084;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004084;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.004084;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.22
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009505";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009505;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009505;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009505;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009505;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.21
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.003820";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.003820;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.003820;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003820;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.003820;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.15
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009557";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009557;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009557;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009557;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009557;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.14
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009213";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009213;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009213;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009213;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009213;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.13
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009218";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009218;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009218;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009218;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009218;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.12
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009126";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009126;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009126;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009126;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009126;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.11
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009316";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009316;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009316;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009316;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009316;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.10
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.008479";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.008479;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.008479;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008479;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008479;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.9
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.011637";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.011637;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.011637;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.011637;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.011637;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.8
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007387";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007387;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007387;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007387;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007387;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.7
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.010213";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.010213;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.010213;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.010213;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.010213;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.6
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007593";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007593;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007593;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007593;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007593;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.5
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.010278";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.010278;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.010278;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.010278;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.010278;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.4
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007216";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007216;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007216;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007216;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007216;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.3
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007211";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007211;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007211;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007211;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007211;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.2
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.008995";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.008995;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.008995;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008995;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008995;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.1
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.008770";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.008770;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.008770;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008770;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008770;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.2.0
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009313";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009313;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009313;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009313;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009313;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.33
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.008527";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.008527;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.008527;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008527;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008527;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.32
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009237";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009237;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009237;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009237;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009237;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.31
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.008746";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.008746;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.008746;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008746;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008746;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.30
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007249";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007249;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007249;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007249;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007249;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.27
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006684";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006684;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006684;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006684;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006684;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.26
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006810";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006810;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006810;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006810;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006810;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.25
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006808";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006808;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006808;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006808;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006808;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.24
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007356";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007356;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007356;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007356;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007356;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.23
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.008347";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.008347;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.008347;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008347;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008347;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.22
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.008803";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.008803;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.008803;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008803;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008803;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.21
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006969";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006969;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006969;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006969;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006969;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.20
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007172";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007172;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007172;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007172;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007172;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.19
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.008782";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.008782;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.008782;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008782;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.008782;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.18
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.009513";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.009513;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.009513;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009513;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.009513;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.17
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006894";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006894;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006894;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006894;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006894;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.16
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007113";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007113;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007113;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007113;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007113;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.15
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006876";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006876;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006876;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006876;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006876;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.14
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006885";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006885;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006885;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006885;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006885;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.13
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007000";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007000;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007000;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007000;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007000;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.12
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006943";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006943;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006943;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006943;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006943;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.4, 8.1.11
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006921";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006921;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006921;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006921;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006921;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.10
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007019";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007019;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007019;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007019;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007019;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.9
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006917";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006917;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006917;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006917;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006917;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.8
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006814";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006814;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006814;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006814;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006814;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.7
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006989";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006989;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006989;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006989;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006989;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.6
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006950";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006950;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006950;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006950;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006950;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.5
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006856";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006856;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006856;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006856;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006856;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.3
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007047";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007047;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007047;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007047;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007047;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.2
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.006739";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.006739;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.006739;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006739;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.006739;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.1
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007026";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007026;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007026;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007026;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007026;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"
Output for 8.1.0
string(315) "O:3:"Foo":5:{s:4:"date";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2024-02-08 08:41:10.007056";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}s:6:"*foo";s:11:"Foo bar baz";s:8:"Foobar";i:123456789;s:3:"tbl";a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:"baz";}s:8:"*color";E:12:"Color:Yellow";}" Reducing by potentially unnecessary chars... By removing double-quote serialized output shrinks by 10.53% string(285) "O:3:Foo:5:{s:4:date;O:17:DateTimeImmutable:3:{s:4:date;s:26:2024-02-08 08:41:10.007056;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam;}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4:{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz;}s:8:*color;E:12:Color:Yellow;}" By removing previous and array leading double-colon and trailing semi-colon serialized output shrinks by 12.90% string(279) "O:3:Foo:5{s:4:date;O:17:DateTimeImmutable:3{s:4:date;s:26:2024-02-08 08:41:10.007056;s:13:timezone_type;i:3;s:8:timezone;s:16:Europe/Amsterdam}s:6:*foo;s:11:Foo bar baz;s:8:Foobar;i:123456789;s:3:tbl;a:4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s:3:baz}s:8:*color;E:12:Color:Yellow}" By removing previous and leading double-colon of sized types serialized output shrinks by 19.77% string(263) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007056;s13:timezone_type;i:3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i:123456789;s3:tbl;a4{i:0;i:123;i:1;b:1;i:2;d:1.1;i:3;s3:baz}s8:*color;E12:Color:Yellow}" By aggresive removing previous and some double-colons serialized output shrinks by 24.02% string(254) "O3:Foo:5{s4:date;O17:DateTimeImmutable:3{s4:date;s26:2024-02-08 08:41:10.007056;s13:timezone_type;i3;s8:timezone;s16:Europe/Amsterdam}s6:*foo;s11:Foo bar baz;s8:Foobar;i123456789;s3:tbl;a4{i0;i123;i1;b1;i2;d1.1;i3;s3:baz}s8:*color;E12:Color:Yellow}"

preferences:
71.14 ms | 706 KiB | 5 Q