Is there a way to use the default values of a function without specifying every single one until the parameter you want to modify in PHP5 ? I don't see it here, but feel this would be very useful indeed. http://www.php.net/manual/en/functions.arguments.php So given a function that takes seven parameters, I want to change one of them and leave the other defaults alone... <?php function SQL_QUERY($sql, $parameters = null, $showSQL = false, $showErrors = true, $execute = true, $noHTML = false, $profile = 0) { var_dump($sql, $parameters, $showSQL, $showErrors, $execute, $noHTML, $profile); } ?> <pre> <?php SQL_QUERY('SELECT * FROM foo WHERE bar = ?'); ?> </pre> <hr> <pre> <?php SQL_QUERY('SELECT * FROM foo WHERE bar = ?', array('beep'), true); ?> </pre> <hr> <pre> <?php SQL_QUERY('SELECT * FROM foo WHERE bar = ?', array('beep'), $execute=false); ?> </pre> outputs: ----------------------------------------------------------------------- string(31) "SELECT * FROM foo WHERE bar = ?" NULL bool(false) bool(true) bool(true) bool(false) int(0) ----------------------------------------------------------------------- string(31) "SELECT * FROM foo WHERE bar = ?" array(1) { [0]=> string(4) "beep" } bool(true) bool(true) bool(true) bool(false) int(0) ----------------------------------------------------------------------- string(31) "SELECT * FROM foo WHERE bar = ?" array(1) { [0]=> string(4) "beep" } bool(false) bool(true) bool(true) <-- I would have expected this one to be bool(false) bool(false) int(0) The above function call doesn't error out on me, it just seems it doesn't do anything either :-\ So it seems I have to do this verboseness (AND know what the default values are to begin with too): SQL_QUERY('SELECT * FROM foo WHERE bar = ?', array('beep'), false, true, false, false); Just to change one default parameter?!? :-(