Alright, so my problem is this: I know how to allow one of my functions take as many arguments as needed. HOWEVER, is it possible to pass a non user created class a scaliable number of variables? Example! bind($var1, $var2, $var3, $var4); // now, I would want my function bind to do the following: function bind($vars = NULL){ // do some query logging code, etc mysqli_bind_param($stmt, 'sssd', $var1, $var2, $var3, $var4); } ?> However, if I only passed it two varibales, I would want it to do the following: bind($var1, $var2); // now, I would want my function bind to do the following: function bind($vars = NULL){ // do some query logging code, etc mysqli_bind_param($this->stmt, 'sssd', $var1, $var2); } ?>