Re: Passing an undetermined amount of arguments by reference
| From: | Jay Moore | Date: | Wed, 04 Feb 2009 20:17:40 +0000 |
| Subject: | Re: Passing an undetermined amount of arguments by reference | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-287634@lists.php.net to get a copy of this message | ||
Ashley Sheridan wrote:
On Wed, 2009-02-04 at 14:02 -0600, Jay Moore wrote:Yeah, I had considered doing it that way as well. I just wanted to remove the need to type each variable twice. It gets to be a pain when you have longer variable names. Thanks for the suggestion. JayGreetings list. Say I have a function that escapes a string before being passed to MySQL like so: function escape($id, &$string) { $string = mysql_real_escape_string($string, $id); } I'm passing $string as a reference so I don't have to reassign it like so: $foo = escape($id, $foo); Simply calling escape($id, $foo); works just fine. How can I do this if I have a variable number of arguments? I know I can use func_get_args(), func_num_args() and so forth to get the arguments but can I still pass by reference? It'd be so much easier to do escape($id, $a, $b, $c, $d); Than $a = escape($id, a); and so forth. Does this make sense? Is it possible to do? Thanks in advance, JayWhat about something like (untested): list($id, $a, $b, $c, $d) = escape($id, $a, $b, $c, $d); And then instead of altering the actual values in your function by using pass-by-reference, you can just return an array of elements instead. Ash www.ashleysheridan.co.uk