Welcome to WebmasterWorld Guest from 54.204.74.171

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

Function Question

getting variable name and value from one argument

   
4:52 pm on Dec 29, 2005 (gmt 0)

10+ Year Member



I have a function that requires both the value of the field and its name. Now I'm calling it as follows, where $field is a variable defined in the script that the function is called:

my_function($field, field)

Am I stuck with needing to use both arguments, or is there any way that I can just use one argument (field), and that the function can then be structured to get the actual value of $field from the script where that value is defined?

Or is there just no way that a function can use variables that are defined in the script (other than as a function argument)?

5:11 pm on Dec 29, 2005 (gmt 0)

WebmasterWorld Administrator jatar_k is a WebmasterWorld Top Contributor of All Time 10+ Year Member



this thread from the PHP Library [webmasterworld.com] might shed some light
Understanding Custom Functions and Variable Scope in PHP [webmasterworld.com]
6:23 pm on Dec 29, 2005 (gmt 0)

10+ Year Member



Thanks those links were very helpful. I have an idea of how to do this now, but still don't know if there is a way to extract out a variable name.

For example if I have

$color= "red";

So the variable color has the value of red. Is there anyway to extract the actual variable name from $color? (I just want the 'color' part) So that I could finally have something like:

$y = "color";

7:06 pm on Dec 29, 2005 (gmt 0)

10+ Year Member



Sorry about that, I was overthinking things. I can do it with:

$y = '$color';

$y = str_replace("$", "", $y);

9:35 pm on Dec 29, 2005 (gmt 0)

5+ Year Member



Possible Plan of Action

my_function($field_name) {

$field_value = $_GLOBALS[$field_name]; // get value of field variable

// sample function action

echo '$'. $field_name .' contains the value: '. $field_value;

return;
// end sample

}

Now say you have $j, that has the value 5.

The following:

my_function('j');

Prints out:

"$j contains the value: 5"

---------------------------

I'm confused what the purpose is of the function, but the code above would help you get the variable value with just the variable name alone.