func_get_args as a hash? (faster constructors)



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.
.



Relevant Pages