func_get_args as a hash? (faster constructors)
| From: | Kelly Jones | Date: | Tue, 28 Nov 2006 01:57:54 +0000 |
| Subject: | func_get_args as a hash? (faster constructors) | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-245201@lists.php.net to get a copy of this message | ||
If I define a function like this:
function foo ($x, $y, $z) {}
and then call: foo(1,2,"bar");
is there a function I can call inside foo() that yields this hash:
{"x" => 1, "y" => 2, "z" => "bar"}
In other words, gives me the values *and names* of the arguments to foo?
func_get_args just yields the values.
Having this function would make writing constuctors easier.
The normal way:
fuction ClassName ($x, $y, $z) {
$this->x = $x;
$this->y = $y;
$this->z = $z;
}
could be replaced with:
function ClassName ($x, $y, $z) {
foreach (magic_function_i_want() as $key=>$val) {
$this->$key =$val;} } Obviously, it's more of a savings when you have a large number of parameters. -- We're just a Bunch Of Regular Guys, a collective group that's trying to understand and assimilate technology. We feel that resistance to new ideas and technology is unwise and ultimately futile.