3v4l.org

run code in 300+ PHP versions simultaneously
<?php class fakePDO { } class DatabaseConnection { protected $connection; public function __construct() { $connection = new fakePDO(); } public function __destruct() { unset($this->connection); } } class Database { static $connections = array(); public static function open($key) { self::$connections[$key] = new DatabaseConnection(); } public static function close($key) { unset(self::$connections[$key]); gc_collect_cycles(); } } Database::open('a'); Database::open('b'); Database::close('a'); debug_zval_dump(Database::$connections);

preferences:
16.17 ms | 402 KiB | 5 Q