Re: how to get var name and value from function?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/16/07, Ford, Mike <M.Ford@xxxxxxxxxxxxxx> wrote:
On 14 April 2007 13:16, Afan Pasalic wrote:

> Tijnema ! wrote:
> > On 4/14/07, Afan Pasalic <afan@xxxxxxxx> wrote:
> > > function value2var($array, $print=0)
> > > {
> > >    foreach ($_POST as $key => $value)
> >
> > I think you should change above line to :
> >
> >    foreach ($array as $key => $value)
> yup! it's print error. I meant $array.
> > >    {
> > >        ${$key} = $value;
> > >        echo ($print ==1) ? $key.': '.$value.'<br>';     // to test
> > > results and seeing array variables and values
> > >    }
> > > }
> > >
> > > value2var($_POST, 1);
> > >
> > > but, I don't know how to get info from function back to
> > > script?!?!? :-(
> >
> > Uhm, it's not even possible when you don't know the keys i believe.
> after 2 hours of testing and research I realized this too, but want
> to be sure. :-(

If you really *must* do this yourself (but others have pointed out the folly of it), this would do it:

function value2var($array)
{
   foreach ($array as $key => $value)
   {
       $GLOBALS['$key'] = $value;
   }
}

What's the sense in above function? you're putting the variables from
1 array in another...
you could use array_merge for this.
But even then it's quite useless...


... or, alternatively, rather than defining you own function, use extract() (http://php.net/extract) with one of the overwrite safety options to avoid blobbing existing variables.

That's a better idea. :)

Personally, I'd never do this in any form -- if I do it at all, I extract specific indices of the array with code like:

 foreach (array('name', 'address', 'email', 'setting1', 'setting2') as $key):
   $GLOBALS[$key] = $array[$key];
 endforeach;

endforeach? never heard of that statement before, does it really exist in PHP?


... making certain, of course, that those values get properly validated elsewhere.

Cheers!

Mike

Sure, you should always validate your variables, but i would recommend
to only get the variables from $_GET/$_POST that you actually gonna
need, and not just everything.

Tijnema


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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux