Re: Associated Arrays as function parameters

From: Date: Sat, 14 Mar 2020 14:53:38 +0000
Subject: Re: Associated Arrays as function parameters
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-109011@lists.php.net to get a copy of this message
I might be off here, but I believe the issue with that is that it's a performance problem. You would have to check each key and function parameter for a match, which would be slow. You can, however, achieve what you're after just by using an array without any packing/unpacking. function foo(Array $args) { // Expected arguments $default = ["name" => null, "birthday" => null]; // Get actual arguments $input = array_intersect_key($args, $default) + $default; // final if (!isset($input['name'])) { // ohnoes you forgot your name } if (!isset($input['birthday'])) { // ohnoes you forgot your birthday } // otherwise use $Input['name'] and $input['birthday'] here... } On Sat, Mar 14, 2020 at 10:43 AM Midori Koçak <mtkocak@gmail.com> wrote: > Dear Internals, > > I would like to as you a question. I know that it is possible to use an > array to function parameters like: function(...array); But this method is > not working when the array is associative. > > Would not be fine if an array like ['param1'=>'value', > 'param2' => 'value'] > would be used in a function like function(param1, param2) regardless of the > order? > > I think it would make our lives is easier. I'd be also happy if you know if > there is more effective method to achieve the same result. > > Thanks, > Midori >

« previous php.internals (#109011) next »