3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Retriever { private static $instance; protected $listOfVars = array(); public static function getInstance() { if(self::$instance) return self::$instance; self::$instance = new self(); return self::$instance; } private function __construct() {} public function addVar($var) { array_push($this->listOfVars, $var); return $this; } public function getVars() { return $this->listOfVars; } public function reset() { $this->listOfVars = array(); return $this; } } function name($var1, $var2, $var3) { echo $var1; } function anotherName($var1, $var2) { echo $var2; } Retriever::getInstance()->addVar("var1text")->addVar("var2text")->addVar("var3text"); name(...Retriever::getInstance()->getVars()); # Output: var1test Retriever::getInstance()->reset()->addVar("var1text")->addVar("var2text"); anotherName(...Retriever::getInstance()->getVars()); # Output: var2text

preferences:
147.18 ms | 404 KiB | 5 Q