3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Obj { // Testing $this->a being a dynamic property. function __construct($a) { $this->a = $a; } public function __wakeup() { echo "Calling __wakeup\n"; for ($i = 0; $i < 10000; $i++) { $this->{'b' . $i} = 42; } } } function main() { $obj = new stdClass(); $obj->test = 'foo'; $variable = [new Obj($obj), new Obj($obj)]; $serialized = serialize($variable); printf("%s\n", $serialized); $unserialized = unserialize($serialized); for ($i = 0; $i < 10000; $i++) { if ($unserialized[0]->{'b' . $i} !== 42) { echo "Fail 0 b$i\n"; return; } if ($unserialized[1]->{'b' . $i} !== 42) { echo "Fail 1 b$i\n"; return; } unset($unserialized[0]->{'b' . $i}); unset($unserialized[1]->{'b' . $i}); } var_dump($unserialized); } main();

Abusive script

This script was stopped while abusing our resources


preferences:
25.55 ms | 407 KiB | 5 Q