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

From: Date: Mon, 16 Apr 2007 15:17:54 +0000
Subject: Re: how to get var name and value from function?
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-253013@lists.php.net to get a copy of this message
On 4/16/07, Ford, Mike <M.Ford@leedsmet.ac.uk> wrote:
On 14 April 2007 13:16, Afan Pasalic wrote: Tijnema ! wrote:
On 4/14/07, Afan Pasalic <afan@afan.net> 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


« previous php.general (#253013) next »