On Mon, Jul 07, 2003 at 06:20:42PM +0100, David Otton wrote:
> On Mon, 7 Jul 2003 17:36:26 +0100, you wrote:
> 
> >I want to write a function (as I have written in several other languages) that
> >obtains it's arguments dynamically (using func_get_arg()) and then assigns to that
> >argument. Think of the way that scanf() works -- that sort of thing.
> >
> >I have distilled what I want to do in the code below. foo adds 1 to all of it's 
> >arguments.
> >
> >function foo () {
> >     $count = func_num_args();
> >     for($i = 0; $i <= $count; $i++) {
> >             $var = func_get_arg($i);
> >             // The following line should do it, but throws a syntax error
> >             &$var = $var + 1;
> >     }
> >}
> >
> >$a = '1';
> >$b = '2';
> >$c = '3';
> >
> >foo($a, $b, $c);
> >
> >What I am doing is quite different than the above (and more complex), but I will be 
> >able
> >to achieve what I want if I can get the above to work.
> 
> Well.... this would work
> 
> function foo () {
>       $count = func_num_args();
>       for($i = 0; $i < $count; $i++) {
>               $var = func_get_arg($i);
>               $var = $var + 1;
>         echo ($var);
>       }
> }
> 
> But I get the feeling you're trying to modify the elements in-place? Any
> particular reason?
> 
> If it's because you want to return multiple values from the function,
> consider this:
> 
> function foo () {
>     $args = array();
>     for ($i = 0; $i < func_num_args(); $i++) {
>               $args[] = func_get_arg($i);
>       }
> 
>     $args = array_map (create_function ('$a','return($a+1);'), $args);
> 
>     return ($args);
> }
> 
> list ($a, $b, $c) = foo(1, 2, 3);
> 
> echo ("$a, $b, $c");

No, the reason that I want to do it is for the same reason that sscanf() does it -- I 
want
to change the values of the variables that are passed to it.

-- 
Alain Williams

#include <std_disclaimer.h>

FATHERS-4-JUSTICE - Campaigning for equal rights for parents and the
best interests of our children. See http://www.fathers-4-justice.org

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to