3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array= [ ['name' => 'block.0.name', 'value' => 'vda'], ['name' => 'block.0.backingIndex', 'value' => 2], ['name' => 'block.0.rd.reqs', 'value' => 248907], ['name' => 'block.0.rd.bytes', 'value' => 9842014208], ['name' => 'block.0.rd.times', 'value' => 372870570891], ['name' => 'block.1.name', 'value' => 'hda'], ['name' => 'block.1.backingIndex', 'value' => 30], ['name' => 'block.1.rd.reqs', 'value' => 2871], ['name' => 'block.1.rd.bytes', 'value' => 9677156], ['name' => 'block.1.rd.times', 'value' => 620637479], ['name' => 'block.2.name', 'value' => 'cda'], ['name' => 'block.2.backingIndex', 'value' => 30], ['name' => 'block.2.rd.reqs', 'value' => 2871], ['name' => 'block.2.rd.bytes', 'value' => 9677156], ['name' => 'block.2.rd.times', 'value' => 620637479], ['name' => 'vcpu.0.state', 'value' => 1], ['name' => 'vcpu.0.time', 'value' => 963654400000000], ['name' => 'vcpu.0.wait', 'value' => 0], ['name' => 'vcpu.1.state', 'value' => 1], ['name' => 'vcpu.1.time', 'value' => 936409070000000], ['name' => 'vcpu.1.wait', 'value' => 0], ['name' => 'vcpu.2.state', 'value' => 1], ['name' => 'vcpu.2.time', 'value' => 943396180000000], ['name' => 'vcpu.2.wait', 'value' => 0], ['name' => 'vcpu.3.state', 'value' => 1], ['name' => 'vcpu.3.time', 'value' => 959496330000000], ['name' => 'vcpu.3.wait', 'value' => 0], ['name' => 'balloon.current', 'value' => 16777216], ['name' => 'balloon.maximum', 'value' => 34534530], ['name' => 'balloon.swap_in', 'value' => 0], ['name' => 'balloon.swap_out', 'value' => 0], ['name' => 'balloon.major_fault', 'value' => 262], ['name' => 'balloon.minor_fault', 'value' => 132293], ['name' => 'balloon.unused', 'value' => 16153712], ['name' => 'balloon.available', 'value' => 16396312], ]; $result = []; foreach ($array as ['name' => $name, 'value' => $value]) { $parts = explode('.', $name); $parentKey = $parts[0] . 's'; $childKey = implode(array_splice($parts, 0, ctype_digit($parts[1]) ? 2 : 1)); $grandchildKey = implode('.', $parts); if ($grandchildKey !== 'name') { $result[$parentKey][$childKey][$grandchildKey] = $value; } } var_export($result);
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.4, 8.3.6 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
array ( 'blocks' => array ( 'block0' => array ( 'backingIndex' => 2, 'rd.reqs' => 248907, 'rd.bytes' => 9842014208, 'rd.times' => 372870570891, ), 'block1' => array ( 'backingIndex' => 30, 'rd.reqs' => 2871, 'rd.bytes' => 9677156, 'rd.times' => 620637479, ), 'block2' => array ( 'backingIndex' => 30, 'rd.reqs' => 2871, 'rd.bytes' => 9677156, 'rd.times' => 620637479, ), ), 'vcpus' => array ( 'vcpu0' => array ( 'state' => 1, 'time' => 963654400000000, 'wait' => 0, ), 'vcpu1' => array ( 'state' => 1, 'time' => 936409070000000, 'wait' => 0, ), 'vcpu2' => array ( 'state' => 1, 'time' => 943396180000000, 'wait' => 0, ), 'vcpu3' => array ( 'state' => 1, 'time' => 959496330000000, 'wait' => 0, ), ), 'balloons' => array ( 'balloon' => array ( 'current' => 16777216, 'maximum' => 34534530, 'swap_in' => 0, 'swap_out' => 0, 'major_fault' => 262, 'minor_fault' => 132293, 'unused' => 16153712, 'available' => 16396312, ), ), )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 array ( 'blocks' => array ( 'block0' => array ( 'backingIndex' => 2, 'rd.reqs' => 248907, 'rd.bytes' => 9842014208, 'rd.times' => 372870570891, ), 'block1' => array ( 'backingIndex' => 30, 'rd.reqs' => 2871, 'rd.bytes' => 9677156, 'rd.times' => 620637479, ), 'block2' => array ( 'backingIndex' => 30, 'rd.reqs' => 2871, 'rd.bytes' => 9677156, 'rd.times' => 620637479, ), ), 'vcpus' => array ( 'vcpu0' => array ( 'state' => 1, 'time' => 963654400000000, 'wait' => 0, ), 'vcpu1' => array ( 'state' => 1, 'time' => 936409070000000, 'wait' => 0, ), 'vcpu2' => array ( 'state' => 1, 'time' => 943396180000000, 'wait' => 0, ), 'vcpu3' => array ( 'state' => 1, 'time' => 959496330000000, 'wait' => 0, ), ), 'balloons' => array ( 'balloon' => array ( 'current' => 16777216, 'maximum' => 34534530, 'swap_in' => 0, 'swap_out' => 0, 'major_fault' => 262, 'minor_fault' => 132293, 'unused' => 16153712, 'available' => 16396312, ), ), )

preferences:
137.37 ms | 415 KiB | 5 Q