Re: how to get var name and value from function?
| From: | Tijnema ! | Date: | Mon, 16 Apr 2007 17:27:10 +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-253033@lists.php.net to get a copy of this message | ||
On 4/16/07, Ford, Mike <M.Ford@leedsmet.ac.uk> wrote:
On 16 April 2007 16:18, Tijnema ! wrote: On 4/16/07, Ford, Mike <M.Ford@leedsmet.ac.uk> wrote:but $_GET and $_POST are also global variables, so you transfer variables from one global variable to another :)On 14 April 2007 13:16, Afan Pasalic wrote:// to testTijnema ! wrote:On 4/14/07, Afan Pasalic <afan@afan.net> wrote:yup! it's print error. I meant $array.function value2var($array, $print=0) { foreach ($_POST as $key => $value)I think you should change above line to : foreach ($array as $key => $value){${$key} = $value; echo ($print ==1) ? $key.': '.$value.'<br>';keys i believe.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 thepointed out the folly of it), this would do it: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 havefunction value2var($array) { foreach ($array as $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... No, not "just another array" (although I agree about the function being pretty useless!) -- $GLOBALS is a superglobal array that contains a reference to every variable defined in the global scope, so that accessing $GLOBALS['var'] from anywhere is the same as accessing $var in the global scope. It's a way of referencing global variables without having to use a "global $var" statement.$GLOBALS['$key'] = $value;} }
I was simply pointing out how you can to "get info from function back to script" "when you don't know the keys", which you'd just said you believed was impossible! ;) ;)You can also return an array ;) I mean to say returning multiple variables (not arrays)
Having done which, I proceeded to point out that:Never knew there was an alternative syntax... (in all these years...) Of course you would (try to) give working code, but you could've be confused by other programming languages :) Tijnema... or, alternatively, rather than defining you ownfunction, use extract() (http://php.net/extract) with one of the overwrite safety options to avoid blobbing existing variables. That's a better idea. :) ... Precisely ;)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? Of course -- would I give you non-working code? (Well, on purpose, anyway! ;) See http://php.net/manual/en/control-structures.alternative-syntax.php Cheers! Mike