Function Arguments

<?php

function my_function($args = ''){
$defaults = array(
'arg1' => '',
'arg2' => false
);
$r = hyp_parse_args($args,$defaults);
extract($r);
}

function hyp_parse_args($args,$defaults = ''){
if(is_object($args)) $r = get_object_vars($args);
elseif(is_array($args)) $r =& $args;
else self::hyp_parse_str($args,$r);
if(is_array($defaults)) return array_merge($defaults,$r);
return $r;
}

function hyp_parse_str($string, &$array) {
parse_str($string,$array);
if(get_magic_quotes_gpc()) $array = stripslashes_deep($array);
return $array;
}

?>