📁 File Manager Pro
v10.0.3 | PHP: 7.4.33
Server: LiteSpeed
2026-06-26 12:16:05
📂
/ (Root)
/
opt
/
alt
/
tests
/
alt-php85-pecl-igbinary_3.2.16-4.el8
/
tests
📍 /opt/alt/tests/alt-php85-pecl-igbinary_3.2.16-4.el8/tests
🔄 Refresh
✏️
Editing: igbinary_046d.phpt
Read Only
--TEST-- Correctly unserialize multiple object refs and non-refs. --INI-- igbinary.compact_strings = On --FILE-- <?php $a = array(new stdClass()); $a[1] = $a[0]; $a[2] = &$a[1]; $a[3] = $a[0]; var_dump($a); printf("%s\n", serialize($a)); $ig_ser = igbinary_serialize($a); printf("%s\n", bin2hex($ig_ser)); $ig = igbinary_unserialize($ig_ser); printf("%s\n", serialize($ig)); var_dump($ig); $f = &$ig[2]; $f = 'V'; var_dump($ig); // Note: While the php7 unserializer consistently makes a distinction between refs to an object and non-refs, // the php5 serializer does not. --EXPECTF-- array(4) { [0]=> object(stdClass)#%d (0) { } [1]=> &object(stdClass)#%d (0) { } [2]=> &object(stdClass)#%d (0) { } [3]=> object(stdClass)#%d (0) { } } a:4:{i:0;O:8:"stdClass":0:{}i:1;R:2;i:2;R:2;i:3;r:2;} 00000002140406001708737464436c61737314000601252201060225220106032201 a:4:{i:0;O:8:"stdClass":0:{}i:1;R:2;i:2;R:2;i:3;r:2;} array(4) { [0]=> object(stdClass)#%d (0) { } [1]=> &object(stdClass)#%d (0) { } [2]=> &object(stdClass)#%d (0) { } [3]=> object(stdClass)#%d (0) { } } array(4) { [0]=> object(stdClass)#%d (0) { } [1]=> &string(1) "V" [2]=> &string(1) "V" [3]=> object(stdClass)#%d (0) { } }
💾 Save Changes
❌ Cancel