note 82352 deleted from reserved.variables by cmb
| From: | cmb@php.net | Date: | Tue, 05 Nov 2019 11:33:01 +0000 |
| Subject: | note 82352 deleted from reserved.variables by cmb | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-212910@lists.php.net to get a copy of this message | ||
Note Submitter: moochm@gmail
----
When using a php script like a remote function call, I find something like this useful for setting
default parameters.
<?php
/**
/* combine _GET _POST _COOKIE variables with provided default values
/* defaults - associative array of default values
/* overwrite - if true, write result to _REQUEST superglobal
/* super_globals - array of super globals to fetch values from
**/
function get_params($defaults = null, $overwrite = false, $super_globals = array('_GET',
'_POST', '_COOKIE'))
{
$ret = array();
// fetch values from request
foreach($super_globals as $sg)
foreach($GLOBALS[$sg] as $k=>$v)
$ret[$k] = $v;
// apply defaults for missing parameters
if($defaults) foreach($defaults as $k=>$v)
if(!isset($ret[$k]))
$ret[$k] = $v;
if($overwrite)
$_REQUEST = $ret;
return $ret;
}
// Example: page.php?style=modern
$argv = get_params(array('id'=>42, 'style'=>'medieval'));
// $argv['id'] = 42
// $argv['style'] = 'modern'
?>