How to get a variable name as a string in PHP?

Use variable name as a string to get the variable name. There are many ways to solve this problem some of them are discussed below:

Method 1: Using $GLOBALS: It is used to reference all variables available in global scope. It is an associative array which contains the reference of all variables which are currently defined in the global scope.

Example: This example uses $GLOBAL reference to get the variable name as a string.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Declare and initialize a variable
$test = "This is a string";
  
// Function that returns the variable name
function getVariavleName($var) {
    foreach($GLOBALS as $varName => $value) {
        if ($value === $var) {
            return $varName;
        }
    }
    return;
}
  
// Function call and display the
// variable name
print getVariavleName($test);
  
?>

chevron_right


Output:

test

Method 2: Using $$ Operator: The $$var_name is known as reference variable where $var_name is a normal variable. The $$var_name used to refer to the variable with the name as value of the variable $var_name.
Example: This example uses $$ operator to get the variable name as a string.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Declare and initialize a variable
$name = "test";
  
// Reference variable to store string
$$name = "This is a string";
  
// Display result
print($name);
  
?>

chevron_right


Output:

test


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.